| || |
|Jan 21, 2008|
|Two years passed quickly since we started working on AR1688. It looks like a good job so far, with better voice quality and lower BOM cost than previous PA1688 chip.
However there are haunted problems all the time. The running speed of Z80 is one of them.
I wrote 48MHz running speed in the first AR1688 article, but this speed is never used in mass production software because we found a certain percentage of IP phones can not actually run correctly in 48MHz clock.
Every software release so far is using 24MHz Z80 running speed to ensure 100% working of the IP phones. We call it low speed software all those months.
Detail check of the reason for low speed is very complicated, seems related with almost every part of the phone, including AR1688 chip difference, program flash chip difference, LCD difference and even the PCB layout difference.
In current 0.27 test software, SetHighSpeed() function call is added in software API. It can only be called once in function.c UI_Init() function, or never be called.
If it is never called, the software will keep running on 24MHz, after it is called, the software will run on 48MHz. End users can try this function call for their own hardware, most IP phones can run on 48MHz.
If one is unlucky to have a slow hardware, the IP phone can be upgraded with standard low speed software in safe mode. Safe mode always runs with low speed at 24MHz.
After upgrading the high speed software, using Windows command line "ping xxx.xxx.xxx.xxx -l 2952" to confirm the high speed is actually working. It takes about 19ms for the ping in high speed, and about 33ms for the ping in low speed.
Watch carefully for those signs of high speed problem:
1. LCD display error
2. New upgrade operation failed with very fast speed, like 9 seconds
3. Strangely changed or corrupted IP phone settings after change of settings or upgrade
Safe mode will always work, users can use #5*5 and #5*0 to restore factory settings and upgrade low speed working software in safe mode when anything is wrong.