技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術頻道 > 技術百科 > 多串口轉換網(wǎng)關在嵌入式系統(tǒng)中的實現(xiàn)

多串口轉換網(wǎng)關在嵌入式系統(tǒng)中的實現(xiàn)

時間:2008-09-01 13:41:00來源:ronggang

導語:?嵌入式系統(tǒng)|C51F023|MCF5272|轉換網(wǎng)關

摘 要:本文介紹了一種采用嵌入式系統(tǒng)來實現(xiàn)多串口轉換網(wǎng)關的方法。并結合C51F023單片機和MCF5272處理器的特點及其工作原理,對單片機的編程策略進行了詳盡的探討。

關鍵詞:嵌入式系統(tǒng);C51F023; MCF5272; 轉換網(wǎng)關

引言

  近些年,互聯(lián)網(wǎng)以其便捷、高速傳輸數(shù)據(jù)的特點越來越受到人們的青睞。互聯(lián)網(wǎng)已經(jīng)進入了世界的每一個角落。而在工業(yè)控制和通訊設備中,更多的卻是符合RS-232標準的串行口設備。如何將多個串行口的數(shù)據(jù)轉發(fā)到網(wǎng)絡上,實現(xiàn)設備的遠程控制、數(shù)據(jù)的遠程傳輸便成了一個亟待解決的問題。本文提出了一種基于嵌入式系統(tǒng)來實現(xiàn)串口和串口、串口和網(wǎng)口之間的數(shù)據(jù)相互轉發(fā)的方案。

總體設計方案

  設計的總體方案如圖一所示。

圖一 多串口轉換網(wǎng)關總體設計方案

  本系統(tǒng)采用核心處理模塊加協(xié)處理器的兩級設計方案。這樣設計的目的是利用協(xié)處理器緩解核心處理器的處理壓力,并解決核心處理器數(shù)據(jù)接口數(shù)量相對不足和本系統(tǒng)多路數(shù)據(jù)量接入需求的矛盾。

  核心處理器采用摩托羅拉公司的MCF5272芯片。這款芯片在Motorola公司嵌入式處理器中屬于中低檔產(chǎn)品。但是低檔不等于低效,在主頻66M時可以達到63MIPS,接近MPC860的MIPS。并且外圍電路接口豐富,在摩托羅拉冷火系列芯片中集成度最高。該處理器集成了兩個全雙工的串口收發(fā)器,10/100M的以太網(wǎng)控制器,USB控制器,QSPI口等,非常適合于大量嵌入式應用的場合。核心處理器的外圍擴展芯片有FLASH、SDRAM、網(wǎng)卡芯片、USB驅動芯片等。這就組成了一個核心處理模塊,同時我們在這個核心處理模塊上移植了µCLinux操作系統(tǒng)。利用µCLinux操作系統(tǒng)中自帶的TCP/IP協(xié)議棧能很方便地實現(xiàn)網(wǎng)絡數(shù)據(jù)的收發(fā)。

  協(xié)處理器采用CYGNAL公司的C8051F023單片機。C8051F023單片機自帶有兩個通用異步全雙工串口和一個SPI口,同時可以用單片機內部的PCA模塊來軟件模擬第3個全雙工串口。協(xié)處理器與核心處理器通過同步串行接口SPI口連接,進行數(shù)據(jù)的交換。   在單片機端三個串口不斷地接收數(shù)據(jù),同一化處理后通過SPI口線傳遞給MCF5272。核心處理模塊接收來自SPI口線和自身兩個串口的數(shù)據(jù)幀,根據(jù)數(shù)據(jù)幀頭的標志位進行存儲轉發(fā)。   整套系統(tǒng)共有5個全雙工串口和一個10/100M的以太網(wǎng)網(wǎng)口用來進行數(shù)據(jù)的收發(fā),實現(xiàn)了串口和串口、串口和網(wǎng)口之間數(shù)據(jù)的相互轉發(fā)。可以滿足大多數(shù)工控設備和通信系統(tǒng)的需求。

單片機中多任務調度的實現(xiàn)

  在C8051F023單片機中需要實現(xiàn)三個串口的全雙工收發(fā)以及與MCF5272的通訊工作。實現(xiàn)這些功能有兩種方案,一種是采用定時輪詢各個串口和SPI口特定寄存器,以判斷是否有數(shù)據(jù)到達,并進行相應的處理,這種方案編程簡單但實時性較差;另一種方案是采用中斷機制,定義各串口的中斷向量和中斷處理程序進行處理,這種方案編程較復雜但實時性很好。根據(jù)我們的需求,各串口數(shù)據(jù)的收發(fā),SPI口數(shù)據(jù)的收發(fā),內部程序定時器的運行都是要求實時運行的不同任務,所以采用方案二可以獲得更好的實時性。由于單片機內部沒有嵌入操作系統(tǒng),所以這些多個不同的任務就要依靠多中斷加上同步鎖的策略來實現(xiàn)。

  硬件串口、SPI口以及定時器都有各自的中斷向量和中斷處理程序模塊,而軟件串口的接收和發(fā)送中斷則需要依賴于自定義的外部中斷向量來實現(xiàn)中斷機制。這些中斷的中斷級別都相同,如果發(fā)中斷沖突,則根據(jù)51單片機的中斷向量表,先執(zhí)行中斷向量號小的中斷處理程序,再執(zhí)行中斷向量號大的中斷處理程序。

  如果在數(shù)據(jù)發(fā)送的同時,新的數(shù)據(jù)接收進來并沖入發(fā)送緩存區(qū),則會發(fā)生不可避免的通信數(shù)據(jù)出錯。類似這樣的問題就需要同步鎖來解決??紤]到實時效應,實現(xiàn)C8051F023同步鎖的機制為:當需要發(fā)送的一幀數(shù)據(jù)幀進入發(fā)送緩存時,中斷處理程序立刻加鎖,不允許新的數(shù)據(jù)再進入發(fā)送緩存,直到該幀數(shù)據(jù)全部發(fā)送完畢再解鎖,此時新的數(shù)據(jù)才被允許進入發(fā)送緩存區(qū)。與此同時,在單片機內部劃分出四塊二級緩存區(qū),將三個串口和一個SPI口接收到的數(shù)據(jù)先存入這四塊二級緩存區(qū)中,以免數(shù)據(jù)的丟失。

單片機與MCF5272的連接與通訊

  單片機與MCF5272之間采用SPI口進行通訊。硬件電路如圖二所示。

圖二 單片機與MCF5272連接原理圖

  SPI為同步串行接口,要求收發(fā)同步,但是實際的運用中,指令信號的接收和來自各串口數(shù)據(jù)的發(fā)送顯然是異步的。這就需要對SPI口進行異步化編程設計。

  將MCF5272的QSPI口設置為主模式,為SPI時鐘的發(fā)送方;而單片機的SPI口則設置為從模式。MCF5272在程序的運行中,不間斷的通過QSPI口發(fā)送數(shù)據(jù),在不發(fā)送指令幀數(shù)據(jù)時,就發(fā)送“0”數(shù)據(jù);而單片機的SPI口就會不斷的收到數(shù)據(jù),在丟棄“0”數(shù)據(jù)外,接收到來自MCF5272有用的指令幀數(shù)據(jù)。由于SPI的收發(fā)同步的特征,MCF5272不間斷發(fā)送數(shù)據(jù)的同時,便可以不斷的收到來自單片機SPI口的數(shù)據(jù),同樣,在丟棄沒有任何意義的“0”數(shù)據(jù)后,將接收到通過各個串口傳遞而來各種不同的數(shù)據(jù)。這就實現(xiàn)了同步SPI口轉變?yōu)楫惒饺p工的工作。

數(shù)據(jù)幀的同一化

  單片機的三個串口所接收到的數(shù)據(jù)都將通過SPI接口傳遞至核心處理器MCF5272,同時核心處理器的數(shù)據(jù)也通過SPI口傳遞給單片機。這就需要單片機和MCF5272之間有一致的數(shù)據(jù)接口,以方便數(shù)據(jù)的分發(fā)和接收。我們需要對三個串口接收到和從SPI口接收到的數(shù)據(jù)幀重新定義幀格式,進行同一化處理。同一化幀格式見圖三,其中串口源地址用來識別數(shù)據(jù)來自哪一個串口,串口目的地址用來識別數(shù)據(jù)將要發(fā)送至哪一個串口。

圖三 串行口數(shù)據(jù)幀發(fā)送格式

  在MCF5272核心處理板上,從串口接收到的數(shù)據(jù)轉發(fā)至網(wǎng)絡同樣需要進行同一化的處理。幀格式見圖四。

圖四 網(wǎng)口數(shù)據(jù)幀發(fā)送格式

結 語

  整套系統(tǒng)的五個全雙工串口和一個網(wǎng)口對核心處理板來說是完全透明的。只需根據(jù)實際情況中的具體要求在µCLinux下編寫上層應用軟件即可,因而適用于大多數(shù)的工控設備和通訊設備。如果在后端連接上無線傳輸模塊,該方案還適用于無線通信領域。

參考文獻:

  1.《C8051F020/1/2/3混合信號ISP FLASH微控制器數(shù)據(jù)手冊》 潘琢金 譯   2.《MCF5272 Coldfire Integrated Microprocessor User’s Manual》   3.《8051單片機C語言控制與應用》 陳龍三 編著 清華大學出版社

標簽:

點贊

分享到:

上一篇:變頻器在離心泵節(jié)能中的應用

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.connectcrack.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網(wǎng)站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務平臺

網(wǎng)站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號