熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術(shù)頻道

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

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

時(shí)間:2008-09-01 13:41:00來(lái)源:ronggang

導(dǎo)語(yǔ):?嵌入式系統(tǒng)|C51F023|MCF5272|轉(zhuǎn)換網(wǎng)關(guān)

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

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

引言

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

總體設(shè)計(jì)方案

  設(shè)計(jì)的總體方案如圖一所示。

圖一 多串口轉(zhuǎn)換網(wǎng)關(guān)總體設(shè)計(jì)方案

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

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

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

單片機(jī)中多任務(wù)調(diào)度的實(shí)現(xiàn)

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

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

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

單片機(jī)與MCF5272的連接與通訊

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

圖二 單片機(jī)與MCF5272連接原理圖

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

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

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

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

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

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

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

結(jié) 語(yǔ)

  整套系統(tÇ’ng)的五個(gè)全雙工串口和一個(gè)ç¶²(wÇŽng)口對(duì)核心處理板來(lái)說(shuō)是完全透明的。只需根據(jù)實(shí)際情況中的具體要求在µCLinux下編寫(xiÄ›)上層應(yÄ«ng)用軟件即可,因而適用于大多數(shù)的工控設(shè)備和通訊設(shè)備。如果在后端連接上無(wú)線傳輸模塊,該方案還適用于無(wú)線通信領(lǐng)域。

參考文獻(xiàn):

  1.《C8051F020/1/2/3混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè)》 潘琢金 è­¯   2.《MCF5272 Coldfire Integrated Microprocessor User’s Manual》   3.《8051單片機(jÄ«)C語(yÇ”)言控制與應(yÄ«ng)用》 陳龍三 編著 清華大學(xué)出版社

標(biāo)簽:

點(diǎn)贊

分享到:

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

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

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

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

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

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

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

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

主站蜘蛛池模板: 庐江县| 湟中县| 旺苍县| 正定县| 丰城市| 肥西县| 山阴县| 汉中市| 九龙坡区| 卫辉市| 临海市| 凤翔县| 慈利县| 白城市| 利津县| 钟祥市| 五常市| 河北区| 鄂托克前旗| 育儿| 兴国县| 新乡县| 高雄市| 紫云| 蒙阴县| 泗洪县| 抚宁县| 贵南县| 获嘉县| 喜德县| 丰台区| 黎城县| 南和县| 河池市| 吉木萨尔县| 沭阳县| 密山市| 姚安县| 吉首市| 将乐县| 延边|