一种无线传感器开发系统的设计方法
0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">程序设计的一个难点是将接收的上位机发送的文件写入FLASH或E2PROM,因为涉及到接收数据和写FLASH或EZPROM的交互。解决方法是采用停止一等待传输协议进行数据传送。下位机开辟约定数量的缓冲区,利用中断接收上位机数据至缓冲区满,处理完缓冲区数据后发送确认标志,上位机收到确认后再开始下一次发送。
按制定的协议写ATMELGA128L的FIASH的流程图如图6所示。
写EZPROM与写FLASH类似,只是要将接收的地址、序列号、长度也写入E2PROM。代码在E2PROM中存放时仍保持表2所示的格式,即段初始地址、序列号、该段长度、数据的格式,以便将E2PROM中存储的代码写入FLASH。
编写下位机程序时,依据各模块分别用子函数实现、模块间接口清晰、主程序简单的原则,实现了读写FLASH和E2PROM、读写锁定位和锁定位、从 E2PROM写FLASH等几大模块,主函数接收到命令调用相应模块即可。当按下中断按钮时,中断程序先检测FLASH连接,如果检测成功,则调用从 E2PROM写FLASH模块;否则红灯闪烁指示操作失败。
使用本文设计的开发板对节点下载程序,程序运行正常,节点间通信状态良好,且功耗低,实现了预计的功能并满足性能要求。
从设计过程和使用可以看出,本开发系统具有以下优点:
1 2 3 4 5 6 7
按制定的协议写ATMELGA128L的FIASH的流程图如图6所示。
下载 (76 KB)
2010-7-15 10:51
写EZPROM与写FLASH类似,只是要将接收的地址、序列号、长度也写入E2PROM。代码在E2PROM中存放时仍保持表2所示的格式,即段初始地址、序列号、该段长度、数据的格式,以便将E2PROM中存储的代码写入FLASH。
编写下位机程序时,依据各模块分别用子函数实现、模块间接口清晰、主程序简单的原则,实现了读写FLASH和E2PROM、读写锁定位和锁定位、从 E2PROM写FLASH等几大模块,主函数接收到命令调用相应模块即可。当按下中断按钮时,中断程序先检测FLASH连接,如果检测成功,则调用从 E2PROM写FLASH模块;否则红灯闪烁指示操作失败。
使用本文设计的开发板对节点下载程序,程序运行正常,节点间通信状态良好,且功耗低,实现了预计的功能并满足性能要求。
从设计过程和使用可以看出,本开发系统具有以下优点:
1 2 3 4 5 6 7

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码