ALT="">
即
ALT="">
EEPROM编程
nRF9E5的主程序存放在外部的串行EEPROM中,当芯片开始上电时,其内部固化的厂家引导程序通过SPI接口,将外部EEPROM中的主程序导入nRF9E5的RAM中(4K字节空间,没有被主程序占用的可作为片内RAM使用),接着执行跳转指令,开始主程序的运行。主程序需要按照表2所示的规则写入EEPROM中,其中SPEED(bit3)为EEPROM的最大读写速度,0为1MHz,1为0.5MHz。XO_FREQ(bit2,1,0)为nRF9E5的外接晶振的频率,000=4MHz,001=8MHz,010=12MHz,011=16MHz,100=20MHz。ALT="图4:上位机的EEPROM读写原理框图。">
nRF9E5内置8051兼容微控器,加上其本身特有的诸多控制寄存器,因此可以用MCS51系列仿真软件进行编程,最后将程序写入EEPROM中调试即可。
采用WAVE6000(伟福)仿真软件编写无线射频通讯、数据采集和数据转换程序,编译形成后缀为HEX的数据文件“XXXXXXXX.HEX”,该数据文件为文本格式:每行的第1个字符固定为“:”,表示一行的开始;第2、3个字符为本行中的指令数据个数M(16进制),M最大为20H,表示该行共M个双字节数据,2M个字符,第4、5、6、7个字符为该行的地址,第8、9个字符为“00”或“01”,其余为依次排列的2M个指令数据字符,最后2个为验证字符位。HEX文件的结束为“:00000001FF"。
采用高级编程语言Delphi 6.0在Windows2000环境下打开该数据文件,依次读出每一行数据,去掉每行的前9个字符和每一行的最后两个字符,其余的就是用户的主程序文件,将主程序文件前添加上表2中的程序头,就构成了nRF9E5的外部EEPROM的程序格式。如图4所示,通过RS232通讯、AT89C2052写入到EEPROM芯片25320中即可。