一種無線傳感器開發(fā)系統(tǒng)的設(shè)計(jì)方法
USB轉(zhuǎn)換芯片實(shí)現(xiàn)上位機(jī)端的USB數(shù)據(jù)與下位機(jī)端的UART數(shù)據(jù)之間的轉(zhuǎn)換。選用芯片為FT232BM。由于編程板CPU、ATMELGAl28都要通過USB口與上位機(jī)通信,為了防止不同輸入輸出信號間的干擾,設(shè)計(jì)時(shí)用了兩個(gè)帶有使能控制的BUFFER來控制不同CPU串口通信的通斷。
為了更方便地配置傳感器節(jié)點(diǎn),在板上集成了一塊E2PROM。目標(biāo)代碼可以先存儲在EZPROM中。當(dāng)需要向節(jié)點(diǎn)下載時(shí),通過按鈕激發(fā)外部中斷即可將E2PROM的代碼通過SPI口寫入節(jié)點(diǎn)CPU。操作方便簡單,擺脫了上位機(jī)的限制。
節(jié)點(diǎn)連接器是17針的節(jié)點(diǎn)與開發(fā)板和擴(kuò)展傳感器之間的接口,除了編程口和串口,還有連接傳感器的擴(kuò)展口,包括I2C口、中斷口和AD口等。
節(jié)點(diǎn)CPU SPI編程共需4根信號線,其中3根SPI通信線與開發(fā)板CPU的SPI口相連,節(jié)點(diǎn)CPU的RESET信號 由開發(fā)板CPU的IO口控制即可。
3 開發(fā)板軟件設(shè)計(jì)
3.1 上位機(jī)程序設(shè)計(jì)
用C++ Builder 6.0編寫上位機(jī)程序,制作了用戶操作界面,并將不同編譯系統(tǒng)生成的多種目標(biāo)文件格式轉(zhuǎn)換成上、下位機(jī)約定的文件格式,傳送給下位機(jī)。
為提高向ATMELGAl28L的FLASH和E2PROM寫代碼的效率和便于從E2PROM向FLASH寫代碼,上位機(jī)傳送給下位機(jī)的代碼采用圖4所示的格式。
評論