新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > LPC2365的μC/OS-II 下多串口通信編程

        LPC2365的μC/OS-II 下多串口通信編程

        作者: 時間:2013-07-22 來源:網(wǎng)絡(luò) 收藏

        摘要:介紹了以LPC2365為核心處理器、嵌入式μC/OS-II下的多串口通信編程方法。對于固定長度的短字節(jié)幀數(shù)據(jù),通過設(shè)置合適的字節(jié)觸發(fā)深度,一次中斷完成數(shù)據(jù)接收任務(wù);對于變長的長字節(jié)幀數(shù)據(jù),則通過多次中斷和等待延時的方法判斷數(shù)據(jù)穩(wěn)定并完成幀數(shù)據(jù)的接收;對于大量數(shù)據(jù)的接收和發(fā)送采用建立FIFO的方法。
        通過這些措施較好地完成了多串口較大數(shù)據(jù)量的通信任務(wù)。
        關(guān)鍵詞:;;;

        引言
        國產(chǎn)某掠海恒高硬體拖靶在拖曳飛行時,需要將自身的各種參數(shù)通過無線鏈路實(shí)時上傳至拖曳母機(jī),同時實(shí)時接收拖曳母機(jī)的遙控指令完成相應(yīng)的動作。拖靶自身的參數(shù)包括:開關(guān)高控狀態(tài)、蓄電池電壓、無線電高度表值、飛行高度裝定值、垂向加速度值、舵翼角、溫度值、普通性能GPS接收機(jī)輸出的主要參數(shù)值、高性能測量GPS接收機(jī)輸出的主要參數(shù)值等。其中,前面7項由一塊采集板完成采集并裝配成幀數(shù)據(jù),通過RS232串口以9 600 bps的波特率、1 Hz的速率輸出。
        數(shù)據(jù)幀長度固定為12字節(jié),同時接收6字節(jié)/幀的遙控指令數(shù)據(jù)。普通性能GPS接收機(jī)以9 600 bps的波特率、1 Hz的速率輸出$GPGGA和$GPRMC兩條語句,其字節(jié)數(shù)可變,但最多不超過1 60字節(jié);高性能GPS則以57 600 bps的波特率、20 Hz的速率輸出RT、RD、TO、SI、RC、CP、DC、FC、PV 9個參數(shù),這些總的參數(shù)數(shù)據(jù)量隨所觀測到的衛(wèi)星數(shù)目而變化,但最多不超過305字節(jié)。
        現(xiàn)在需要將采集板和普通性能GPS接收機(jī)的數(shù)據(jù)組成每幀75字節(jié)數(shù)據(jù)(如果收到遙控指令時,則需要一次返回3幀同樣數(shù)據(jù))、以每秒一幀的速率上傳至拖曳母機(jī)以供實(shí)時顯示。將高性能測量GPS接收機(jī)輸出的數(shù)據(jù)直接上傳至拖曳母機(jī)存儲以供事后處理。由此可見這是一個典型的多串口較大數(shù)據(jù)量的通信應(yīng)用問題。

        1 工作原理
        利用具有多個串口資源的ARM7處理器LPC2365芯片分別實(shí)時接收數(shù)據(jù)采集板和普通性能GPS接收機(jī)發(fā)送過來的數(shù)據(jù),并按要求進(jìn)行組幀后,通過互斥型信號量存入FIFO類型的發(fā)送中;將接收到的高性能GPS接收機(jī)數(shù)據(jù)也存入同一發(fā)送數(shù)據(jù)隊列中;當(dāng)發(fā)送數(shù)據(jù)隊列不為空時,通過一個二值信號量啟動串口發(fā)送任務(wù)進(jìn)行數(shù)據(jù)的發(fā)送,直到一幀數(shù)據(jù)發(fā)送完畢為止。發(fā)送數(shù)據(jù)流向示意圖如圖1所示。

        本文引用地址:http://www.104case.com/article/153447.htm

        a.JPG


        應(yīng)用程序是基于嵌入式μC/OS-II編寫完成的,針對不同的功能創(chuàng)建不同的任務(wù),包括串口接收任務(wù)、串口發(fā)送任務(wù)、組幀任務(wù)等。

        2 硬件設(shè)計
        主控CPU選用NXP公司生產(chǎn)的ARM7處理器LPC2365,該芯片擁有256 KB的Flash存儲器、32 KB的SRAM、4個全雙工UART串口以及多達(dá)70個通用I/O端口,硬件資源非常豐富。4個全雙丁串口可分別與數(shù)據(jù)采集板、普通性能GPS接收機(jī)、高性能GPS接收機(jī)以及數(shù)傳模塊進(jìn)行通信;256 KB的Flash存儲器和32 KB的SRAM可以存儲和運(yùn)行嵌入式實(shí)時操作系統(tǒng)μC/OS-II下的應(yīng)用程序。
        由于高性能GPS接收機(jī)以57 600 bps的波特率、20Hz的速率和305字節(jié)/幀的數(shù)據(jù)量輸出數(shù)據(jù),其數(shù)據(jù)量占空比高達(dá)85%,考慮到還需要下傳其他參數(shù)信息,因此應(yīng)選用波特率更高的數(shù)傳模塊完成數(shù)據(jù)傳輸任務(wù)。

        b.JPG


        美國GE MDS公司生產(chǎn)的EL806數(shù)傳模塊擁有先進(jìn)的調(diào)頻擴(kuò)頻技術(shù),在902~928 MHz頻段上提供了速率最高可達(dá)115 200 bps(連續(xù)工作)的工業(yè)級的無線通信設(shè)備;在無線數(shù)據(jù)通信的可靠性、完整性和糾錯能力方面具有較強(qiáng)優(yōu)勢;同時,該產(chǎn)品具有供電范圍較寬、功耗較低、功率可達(dá)1 W、環(huán)境適應(yīng)性較強(qiáng)的工業(yè)級性能。硬件系統(tǒng)框圖如圖2所示。

        數(shù)字通信相關(guān)文章:數(shù)字通信原理


        通信相關(guān)文章:通信原理



        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 邳州市| 久治县| 无极县| 贵港市| 涟源市| 盘山县| 沂水县| 萨迦县| 闻喜县| 汝阳县| 冷水江市| 临澧县| 永州市| 新巴尔虎左旗| 芦山县| 云浮市| 荔浦县| 金乡县| 营山县| 姚安县| 阳朔县| 当涂县| 江源县| 库尔勒市| 渭南市| 齐河县| 万全县| 连平县| 黑山县| 新津县| 和顺县| 拜城县| 穆棱市| 修文县| 汉沽区| 友谊县| 景德镇市| 淳化县| 凌源市| 额尔古纳市| 祁东县|