LPC2365的μC/OS-II 下多串口通信編程
摘要:介紹了以L(fǎng)PC2365為核心處理器、嵌入式實(shí)時(shí)操作系統μC/OS-II下的多串口通信編程方法。對于固定長(cháng)度的短字節幀數據,通過(guò)設置合適的字節觸發(fā)深度,一次中斷完成數據接收任務(wù);對于變長(cháng)的長(cháng)字節幀數據,則通過(guò)多次中斷和等待延時(shí)的方法判斷數據穩定并完成幀數據的接收;對于大量數據的接收和發(fā)送采用建立FIFO數據隊列的方法。
通過(guò)這些措施較好地完成了多串口較大數據量的通信任務(wù)。
關(guān)鍵詞:嵌入式系統;實(shí)時(shí)操作系統;互斥信號量;數據隊列
引言
國產(chǎn)某掠海恒高硬體拖靶在拖曳飛行時(shí),需要將自身的各種參數通過(guò)無(wú)線(xiàn)鏈路實(shí)時(shí)上傳至拖曳母機,同時(shí)實(shí)時(shí)接收拖曳母機的遙控指令完成相應的動(dòng)作。拖靶自身的參數包括:開(kāi)關(guān)高控狀態(tài)、蓄電池電壓、無(wú)線(xiàn)電高度表值、飛行高度裝定值、垂向加速度值、舵翼角、溫度值、普通性能GPS接收機輸出的主要參數值、高性能測量GPS接收機輸出的主要參數值等。其中,前面7項由一塊采集板完成采集并裝配成幀數據,通過(guò)RS232串口以9 600 bps的波特率、1 Hz的速率輸出。
數據幀長(cháng)度固定為12字節,同時(shí)接收6字節/幀的遙控指令數據。普通性能GPS接收機以9 600 bps的波特率、1 Hz的速率輸出$GPGGA和$GPRMC兩條語(yǔ)句,其字節數可變,但最多不超過(guò)1 60字節;高性能GPS則以57 600 bps的波特率、20 Hz的速率輸出RT、RD、TO、SI、RC、CP、DC、FC、PV 9個(gè)參數,這些總的參數數據量隨所觀(guān)測到的衛星數目而變化,但最多不超過(guò)305字節。
現在需要將采集板和普通性能GPS接收機的數據組成每幀75字節數據(如果收到遙控指令時(shí),則需要一次返回3幀同樣數據)、以每秒一幀的速率上傳至拖曳母機以供實(shí)時(shí)顯示。將高性能測量GPS接收機輸出的數據直接上傳至拖曳母機存儲以供事后處理。由此可見(jiàn)這是一個(gè)典型的多串口較大數據量的通信應用問(wèn)題。
1 工作原理
利用具有多個(gè)串口資源的ARM7處理器LPC2365芯片分別實(shí)時(shí)接收數據采集板和普通性能GPS接收機發(fā)送過(guò)來(lái)的數據,并按要求進(jìn)行組幀后,通過(guò)互斥型信號量存入FIFO類(lèi)型的發(fā)送數據隊列中;將接收到的高性能GPS接收機數據也存入同一發(fā)送數據隊列中;當發(fā)送數據隊列不為空時(shí),通過(guò)一個(gè)二值信號量啟動(dòng)串口發(fā)送任務(wù)進(jìn)行數據的發(fā)送,直到一幀數據發(fā)送完畢為止。發(fā)送數據流向示意圖如圖1所示。
應用程序是基于嵌入式實(shí)時(shí)操作系統μC/OS-II編寫(xiě)完成的,針對不同的功能創(chuàng )建不同的任務(wù),包括串口接收任務(wù)、串口發(fā)送任務(wù)、組幀任務(wù)等。
2 硬件設計
主控CPU選用NXP公司生產(chǎn)的ARM7處理器LPC2365,該芯片擁有256 KB的Flash存儲器、32 KB的SRAM、4個(gè)全雙工UART串口以及多達70個(gè)通用I/O端口,硬件資源非常豐富。4個(gè)全雙丁串口可分別與數據采集板、普通性能GPS接收機、高性能GPS接收機以及數傳模塊進(jìn)行通信;256 KB的Flash存儲器和32 KB的SRAM可以存儲和運行嵌入式實(shí)時(shí)操作系統μC/OS-II下的應用程序。
由于高性能GPS接收機以57 600 bps的波特率、20Hz的速率和305字節/幀的數據量輸出數據,其數據量占空比高達85%,考慮到還需要下傳其他參數信息,因此應選用波特率更高的數傳模塊完成數據傳輸任務(wù)。
美國GE MDS公司生產(chǎn)的EL806數傳模塊擁有先進(jìn)的調頻擴頻技術(shù),在902~928 MHz頻段上提供了速率最高可達115 200 bps(連續工作)的工業(yè)級的無(wú)線(xiàn)通信設備;在無(wú)線(xiàn)數據通信的可靠性、完整性和糾錯能力方面具有較強優(yōu)勢;同時(shí),該產(chǎn)品具有供電范圍較寬、功耗較低、功率可達1 W、環(huán)境適應性較強的工業(yè)級性能。硬件系統框圖如圖2所示。
數字通信相關(guān)文章:數字通信原理
通信相關(guān)文章:通信原理
評論