當(dāng)前位置:首頁(yè) > 電源 > 線性電源
[導(dǎo)讀]介紹一種遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)是通信電纜健康狀況監(jiān)測(cè)系統(tǒng)的一部分,它基于μC/OS-II軟件平臺(tái),使用LPC2132控制Modem芯片73M2901,通過(guò)電話線實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程傳輸。

摘要 介紹一種遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)是通信電纜健康狀況監(jiān)測(cè)系統(tǒng)的一部分,它基于μC/OS-II軟件平臺(tái),使用LPC2132控制Modem芯片73M2901,通過(guò)電話線實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程傳輸。該方案工作可靠,成本低,易于升級(jí),可以廣泛應(yīng)用于工業(yè)遠(yuǎn)程監(jiān)控、智能家居、無(wú)人值守場(chǎng)所等各個(gè)領(lǐng)域。
關(guān)鍵詞 μC/OS-II LPC2132 73M2901 遠(yuǎn)程數(shù)據(jù)傳輸


引 言
    遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)應(yīng)用廣泛,尤其是在一些特殊的應(yīng)用場(chǎng)合,監(jiān)測(cè)或者控制對(duì)象由于距離較遠(yuǎn)或者現(xiàn)場(chǎng)比較危險(xiǎn),只能把采集的數(shù)據(jù)傳輸?shù)竭h(yuǎn)離現(xiàn)場(chǎng)的地方進(jìn)行分析處理,因此需要一種可以進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸?shù)那度胧较到y(tǒng),以便能夠?qū)崿F(xiàn)在遠(yuǎn)處對(duì)工作系統(tǒng)的監(jiān)視、控制和故障排除,避免惡劣的環(huán)境對(duì)身體造成損害。本系統(tǒng)是通信電纜健康狀況監(jiān)測(cè)系統(tǒng)的一部分,將通信電纜的工作狀況遠(yuǎn)程傳輸,從而實(shí)現(xiàn)異地監(jiān)測(cè)。本文提出了一種體積小、重量輕、成本低、實(shí)施方便,基于LPC2132芯片的,以電話線為數(shù)據(jù)傳輸媒質(zhì)的嵌入式應(yīng)用系統(tǒng),從硬件和軟件方面對(duì)系統(tǒng)的設(shè)計(jì)進(jìn)行了詳細(xì)說(shuō)明,并給出具體實(shí)現(xiàn)方法。


1 硬件設(shè)計(jì)
1.1 系統(tǒng)原理
   
如圖l所示,遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)由主控LPC2132、Modem芯片73M2901、RS232串口轉(zhuǎn)換電路組成。LPC2132通過(guò)UART0接收通信電纜數(shù)據(jù)采集儀的數(shù)據(jù),進(jìn)行CRC校驗(yàn)后通過(guò)UARTl發(fā)給Modem。LPC2132是Philips公司基于32/16位ARM7TDMI-S內(nèi)核開(kāi)發(fā)的微控制器。由于LPC2132內(nèi)嵌64 KB的高速Flash存儲(chǔ)器和16KB片內(nèi)靜態(tài)RAM,具有2個(gè)符合16C550工業(yè)標(biāo)準(zhǔn)的串行接口,且其中一個(gè)包含標(biāo)準(zhǔn)的調(diào)制解調(diào)器接口信號(hào),因此非常適合用來(lái)控制Modem芯片進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸。73M2901是TDK公司推出的低功耗、低速、單片式調(diào)制解調(diào)器,具有很高的集成度,與LPC2132一起可以構(gòu)成一個(gè)輕便小巧的嵌入式遠(yuǎn)程終端。

1.2 73M2901芯片簡(jiǎn)介
    73M2901內(nèi)置標(biāo)準(zhǔn)的8032微處理器和1個(gè)協(xié)處理器,因此在處理復(fù)雜信號(hào)的同時(shí)還可以實(shí)現(xiàn)多種控制功能。其數(shù)據(jù)終端采用異步串行傳輸方式,最多町以支持2 400 bps個(gè)雙工數(shù)據(jù)傳送;此外,還支持AT指令集,其主要引腳功能如表l所列。

    73M2901由數(shù)據(jù)終端接口、調(diào)制解調(diào)部件和模擬終端接口3部分構(gòu)成。
    ①數(shù)據(jù)終端接口:主要功能是完成數(shù)據(jù)終端設(shè)備(DTE)與調(diào)制解調(diào)器之間的連接。73M2901芯片提供的串行數(shù)據(jù)終端接口包括TXD、RXD、RTS、CTS、DSR、DCD、TXCLK、RXCLK等。
    ②調(diào)制解調(diào)部件:核心是調(diào)制解調(diào)芯片。Modem的絕大多數(shù)功能都是由這片大規(guī)模集成電路來(lái)實(shí)現(xiàn)的,包括調(diào)制解調(diào)過(guò)程、擾碼解擾碼過(guò)程、信道分割、線路均衡和指示工作狀態(tài)等。
    ③模擬終端接口:包括撥號(hào)脈沖電路、振鈴檢測(cè)電路和音頻信號(hào)通道3部分。通過(guò)這部分電路可以將Modem與通信信道連接起來(lái)。
    ◆撥號(hào)脈沖電路:摘掛機(jī)信號(hào)由73M2901/5V的RELAY引腳給出,完成摘掛機(jī)動(dòng)作。當(dāng)RELAY發(fā)出高電平時(shí)為掛機(jī),發(fā)出低電平時(shí)為摘機(jī)。
    ◆振鈴檢測(cè)電路:用于檢測(cè)電話線送來(lái)的鈴流信號(hào)。當(dāng)信道內(nèi)沒(méi)有振鈴信號(hào)時(shí),73M290l的RING端為無(wú)效的高電平;當(dāng)振鈴信號(hào)來(lái)到時(shí),RING變?yōu)橛行У牡碗娖?,完成振鈴檢測(cè)。
    ◆音頻信號(hào)通道:模擬信號(hào)發(fā)送端是73M2901/5V芯片的TXAN和TRAP引腳,提供差分信號(hào)輸出。73M290l/5V還提供一個(gè)輸入引腳RXA,RXA端是非平衡的模擬輸入端口,接收的音頻信號(hào)為單端對(duì)地的模擬信號(hào)。
    模擬接口電路主要功能如下:
    ◇調(diào)制解調(diào)器內(nèi)部不平衡電路與平衡型通信信道之間的轉(zhuǎn)換;
    ◇調(diào)制解調(diào)器內(nèi)部四線電路與二線通信信道之間的轉(zhuǎn)換;
    ◇識(shí)別通信信道傳來(lái)的交流振鈴信號(hào),并將其轉(zhuǎn)換成TTL直流電平;
    ◇撥號(hào)時(shí)能發(fā)出符合規(guī)定的脈沖串或雙音多頻信號(hào)。
1.3 UARTl串口傳輸
    本系統(tǒng)直接將73M290l連接到LPC2132的UARTl串口上,進(jìn)行數(shù)據(jù)傳輸工作,接口結(jié)構(gòu)如圖2所示,UARTl的引腳功能描述如表2所列。

    假設(shè)LPC2132對(duì)儀器發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)行校驗(yàn)之后,要通過(guò)73M290l向遠(yuǎn)程計(jì)算機(jī)發(fā)送,LPC2132和73M290l作為主叫端,遠(yuǎn)程計(jì)算機(jī)和標(biāo)準(zhǔn)Modem作為被叫端,則數(shù)據(jù)發(fā)送過(guò)程為:
    ①系統(tǒng)初始化,使數(shù)據(jù)終端就緒信號(hào)DTR有效,然后LPC2132向73M290l發(fā)出撥號(hào)指令,73M2901收到撥號(hào)指令后向被叫端Modem發(fā)出撥號(hào)音,使被叫端Modcm振鈴。振鈴次數(shù)達(dá)到軟件設(shè)置的次數(shù)時(shí),Modem將自動(dòng)應(yīng)答,進(jìn)入摘機(jī)狀態(tài)。
    ②被叫端摘機(jī)后一邊向主叫端發(fā)送應(yīng)答載波,一邊向本端計(jì)算機(jī)發(fā)出DSR信號(hào);然后被叫端計(jì)算機(jī)便開(kāi)始監(jiān)視DCD信號(hào),等待對(duì)方載波信號(hào)的到來(lái)。主叫端73M2901檢測(cè)到應(yīng)答載波以后向LPC2132發(fā)出DCD信號(hào),標(biāo)志著呼叫成功。
    ③呼叫成功后,主叫端73M2901向LPC2132發(fā)出DSR信號(hào);LPC2132收到該信號(hào)后,得知線路連接己完全建立,即向73M290l發(fā)出RTS信號(hào)。73M2901將向被叫端發(fā)出載波并回送CTS信號(hào),當(dāng)主叫端LPC2132收到CTS信號(hào)以后,表示握手成功。
    ④被叫端Modem檢測(cè)到主叫端發(fā)來(lái)的載波信號(hào)后就發(fā)出DCD信號(hào),通知被叫端計(jì)算機(jī)數(shù)據(jù)鏈路已經(jīng)建立。
    ⑤數(shù)據(jù)鏈路建立以后,LPC2132便可以向計(jì)算機(jī)傳送數(shù)據(jù)。
    ⑥LPC2132在數(shù)據(jù)傳送完畢后向73M2901發(fā)出掛機(jī)命令,并發(fā)出無(wú)效的RTS信號(hào);73M2901立即停發(fā)載波,并回送無(wú)效的CTS信號(hào)。被叫端Modem因收不到主叫端發(fā)來(lái)的載波信號(hào)而使DCD信號(hào)無(wú)效,計(jì)算機(jī)即向Modem發(fā)出掛機(jī)指令;Modem掛機(jī)后DSR信號(hào)無(wú)效,應(yīng)答載波停發(fā)。主叫端73M290l因不發(fā)載波又收不到載波而使DCD、DSR信號(hào)無(wú)效。至此,數(shù)據(jù)鏈路拆除。系統(tǒng)處于待機(jī)狀態(tài),等待LPC2132再次要求建立連接。


2 系統(tǒng)軟件設(shè)計(jì)
2.1 通信模塊
   
本系統(tǒng)軟件基于μC/OS-II平臺(tái)實(shí)現(xiàn),采用ADSl.2集成開(kāi)發(fā)環(huán)境調(diào)試。整個(gè)軟件系統(tǒng)分為2個(gè)任務(wù),包括4個(gè)模塊:數(shù)據(jù)隊(duì)列模塊、UARTO的串口接收模塊、CRC校驗(yàn)?zāi)K和UARTl的Modem通信模塊。系統(tǒng)主程序流程如圖3所示,系統(tǒng)的各個(gè)任務(wù)由μC/OS-II核統(tǒng)一協(xié)調(diào)分配CPU資源。
    在收發(fā)數(shù)據(jù)時(shí),為了平衡通信電纜數(shù)據(jù)采集儀、LPC2132和73M290l三者間的傳輸速率,本程序使用數(shù)據(jù)隊(duì)列作為數(shù)據(jù)緩存。數(shù)據(jù)隊(duì)列采用先入先出(FIFO)的方式,其空間大小在項(xiàng)目中的config,h文件中定義。數(shù)據(jù)空間的地址惟一,且只對(duì)應(yīng)一個(gè)數(shù)據(jù)隊(duì)列。數(shù)據(jù)隊(duì)列子程序(queue.c)定義了6個(gè)函數(shù).分別為:QueueCreate,建立數(shù)據(jù)隊(duì)列;QueueRead,獲取隊(duì)列中的數(shù)據(jù);QueueWritc,F(xiàn)IFO方式發(fā)送數(shù)據(jù);QueueFlush,清空隊(duì)列;QueueNData.獲取隊(duì)列中數(shù)據(jù)數(shù)目;QuEueSize,獲取隊(duì)列空間容量。

    由于LPC2132是通過(guò)73M2901向遠(yuǎn)程設(shè)備發(fā)送數(shù)據(jù)的,因此只需要編寫Modem發(fā)送子程序。Modem通信子程序包括8個(gè)函數(shù),分別為:UARTlInit,初始化UARTl;UARTl_Exception,UARTl中斷服務(wù)程序;GeTModemState,獲取Modem的狀態(tài);ModemInit,初始化Modem;ModemWrite,通過(guò)Modem發(fā)送多個(gè)字節(jié)數(shù)據(jù);ModemCommand,發(fā)送Modem命令;ModemDialUp,通過(guò)Modem撥號(hào);ModemDialDown,掛斷Modem。系統(tǒng)啟動(dòng)時(shí)需要對(duì)UARTl進(jìn)行向量中斷初始化,即在工程的target.c文件中編寫初始化程序。
    LPC2132通過(guò)UART1發(fā)送AT指令控制Modem的工作狀態(tài),然后向MoEdem發(fā)送數(shù)據(jù)。uARTl的具體工作方式為:發(fā)送信號(hào)量初始值設(shè)為發(fā)送緩沖的大小,并且關(guān)閉發(fā)送中斷。發(fā)送數(shù)據(jù)時(shí),用戶任務(wù)在信號(hào)量上等待,如果發(fā)送緩沖未滿,則用戶任務(wù)向發(fā)送緩沖巾寫入數(shù)據(jù)。如果寫入的是發(fā)送緩沖中的第一個(gè)字節(jié),則允許發(fā)送中斷,然后從發(fā)送緩沖中取出最早寫入的字節(jié)輸出至UART1,這個(gè)操作又觸發(fā)了下一次的發(fā)送中斷。如此循環(huán)直到發(fā)送緩沖中最后一個(gè)字節(jié)被取走,重新關(guān)閉發(fā)送中斷。在向UART1輸出的同時(shí),給信號(hào)量發(fā)信號(hào),發(fā)送任務(wù)據(jù)此信號(hào)量計(jì)數(shù)值來(lái)了解發(fā)送緩沖中是否有空間。數(shù)據(jù)發(fā)送流程圖如圖4所示。

2.2 CRC校驗(yàn)?zāi)K
   
信號(hào)在物理信道中傳輸時(shí),線路本身電器特性造成的隨機(jī)噪聲、信號(hào)幅度的衰減、頻率和相位的畸變、相鄰線路問(wèn)的串?dāng)_以及各種外界因素(開(kāi)關(guān)的跳線、外界強(qiáng)電流磁場(chǎng)的變化和電源的波動(dòng)等)都會(huì)造成信號(hào)的失真。在數(shù)據(jù)通信中,將會(huì)使接收端收到的二進(jìn)制數(shù)位和發(fā)送端實(shí)際發(fā)送的二進(jìn)制數(shù)位不一致,從而造成由“0”變成“l(fā)”或由“l(fā)”變成“O”的差錯(cuò)。為了把差錯(cuò)限制在盡可能小的范圍內(nèi),在數(shù)據(jù)的遠(yuǎn)程傳送中,廣泛采用循環(huán)冗余校驗(yàn)碼(CRC)。其編碼簡(jiǎn)單,誤判率很低,檢錯(cuò)能力強(qiáng),占用系統(tǒng)資源少,用軟硬件方式均能實(shí)現(xiàn)。CRC的英文全稱為Cyclic Redundancy Check,電是采用給信息碼加上幾位校驗(yàn)碼的方式來(lái)增大整個(gè)編碼系統(tǒng)的碼距,增強(qiáng)查錯(cuò)糾錯(cuò)能力。
2.3 μC/OS-II在LPC2132上的移植
    所謂“移植”,就是使一個(gè)實(shí)時(shí)內(nèi)核能在其他的微處理器或微控制器上運(yùn)行。要使同一個(gè)內(nèi)核能適用于不同的硬件體系,就要存內(nèi)核和硬件之間有一個(gè)中間層,即與處理器相關(guān)的移植代碼,這部分代碼因處理器而異。大部分μC/OS-II的代碼是用C語(yǔ)言編寫的,因此μC/OS-II的可移植性強(qiáng)。然而,仍需要用匯編語(yǔ)言編寫一些與處理器硬件相關(guān)的代碼,這是因?yàn)閷?shí)現(xiàn)μC/OS-II讀/寫處理器寄存器時(shí)只能通過(guò)匯編語(yǔ)言來(lái)宴現(xiàn)。在μC/OS-II中,這部分代碼分成3個(gè)文件:OS_CPU.H、IS_CPU_A.ASM和OS_CPU_C.C。因此,把μC/OS-II移植到LPC2132中時(shí)需要對(duì)上述3個(gè)文件進(jìn)行部分修改。


結(jié) 語(yǔ)
    LPC2132硬件資源豐富,使得該系統(tǒng)具有體積小、重量輕、成本低等特點(diǎn);采用了CRC校驗(yàn),從而提高了通信的查錯(cuò)糾錯(cuò)能力。此外,基于μC/OS-II平臺(tái)實(shí)現(xiàn)軟件功能,使得該系統(tǒng)運(yùn)行穩(wěn)定,維護(hù)方便,升級(jí)簡(jiǎn)單。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉