《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于MSP430F149的串口服務(wù)器設(shè)計(jì)

基于MSP430F149的串口服務(wù)器設(shè)計(jì)

2009-05-18
作者:陳政石1, 秦紅波1,2, 李鐵

??? 摘? 要: MSP430微處理器具有功耗低和功能模塊豐富的特點(diǎn)。采用MSP430F149為主控制器和以太網(wǎng)控制芯片CS8900A設(shè)計(jì)串口服務(wù)器,并且嵌入精簡(jiǎn)后的TCP/IP協(xié)議。以過程控制設(shè)備為目標(biāo)進(jìn)行調(diào)試,實(shí)現(xiàn)RS-232串口和網(wǎng)絡(luò)接口RJ45的轉(zhuǎn)換。使串口設(shè)備聯(lián)入以太網(wǎng),實(shí)現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)控制。 ?

??? 關(guān)鍵詞: MSP430; 串口服務(wù)器; 以太網(wǎng)

?

??? 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,各種工業(yè)設(shè)備、試驗(yàn)設(shè)備以及家電等正在走向網(wǎng)絡(luò)化,“讓全世界的設(shè)備連入網(wǎng)絡(luò)”已成為全球共識(shí),所以把具有串口通信接口的設(shè)備連入網(wǎng)絡(luò),進(jìn)行遠(yuǎn)程數(shù)據(jù)交換和網(wǎng)絡(luò)控制,顯得尤為重要。?

??? 本文采用了TI公司生產(chǎn)的16位超低功耗的混合信號(hào)處理器(mixed signal processor)和Cirrus公司生產(chǎn)的高集成度的全面支持IEEE802.3標(biāo)準(zhǔn)的以太網(wǎng)控制器CS8900A來設(shè)計(jì)嵌入式串口服務(wù)器終端,以模塊化設(shè)計(jì)思想提供軟件設(shè)計(jì),鑒于嵌入式系統(tǒng)有限的內(nèi)存,對(duì)TCP/IP進(jìn)行了精簡(jiǎn),并進(jìn)行了調(diào)試。?

1 硬件電路設(shè)計(jì)?

??? 主控制器MSP430[1]是美國(guó)Texas Instruments(TI)公司于1996年開始推向市場(chǎng)的超低功耗微處理器,擁有5種低功耗模式,以適應(yīng)不同的需要。CPU從低功耗模式被喚醒,這個(gè)過程最多只需要6 μs。靈活的時(shí)鐘使用方式也是MSP430的一大特點(diǎn),除了片內(nèi)集成一個(gè)晶體振蕩器外,還可外接1~2個(gè)晶體振蕩器。不同的內(nèi)部功能模塊可根據(jù)需要使用不同的晶體振蕩器,在不需要時(shí)可以通過設(shè)置寄存器將其關(guān)閉,以減低功耗。MSP430采用了16位的RISC架構(gòu),具有125 ns的指令周期,且內(nèi)部具有豐富的功能模塊,集成了多通道10~14位的A/D轉(zhuǎn)換器、雙路12位D/A轉(zhuǎn)換器、比較器、電源電壓檢測(cè)、串行口USART(UART/SPI)、硬件乘法器、Flash存儲(chǔ)器、看門狗定時(shí)器及多個(gè)16位、8位定時(shí)器等功能模塊。這些結(jié)構(gòu)使得MSP430微處理器可以應(yīng)用到更多的場(chǎng)合,有更廣泛的應(yīng)用,也使得串口服務(wù)器的設(shè)計(jì)更為簡(jiǎn)單化。?

??? 以太網(wǎng)控制芯片CS8900A[2]是Cirrus Logic公司生產(chǎn)的低功耗、性能優(yōu)越的16位以太網(wǎng)控制器。其突出特點(diǎn)是使用靈活,物理層接口、數(shù)據(jù)傳輸模式和工作模式等都能根據(jù)需要而動(dòng)態(tài)調(diào)整,通過內(nèi)部寄存器的設(shè)置來適應(yīng)不同的應(yīng)用環(huán)境。?

??? 系統(tǒng)的硬件框圖如圖1所示。?

?

?

??? 電源通過5 V電源適配器,經(jīng)LD1117芯片轉(zhuǎn)化為3.3 V穩(wěn)壓電源給主控制器MSP430、以太網(wǎng)芯片CS8900A及SP3223供電。MSP430接8 MHz的晶振,同時(shí)外接一個(gè)JTAG口,通過JTAG口接MSP430仿真器用于系統(tǒng)與MSP430開發(fā)軟件IAR之間的程序調(diào)試[3] 。?

??? 主控制器負(fù)責(zé)控制以太網(wǎng)接口完成網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)送和接收,以及相應(yīng)的封裝和解包工作,根據(jù)上位機(jī)的指令完成相應(yīng)的數(shù)據(jù)采集和處理,并且檢測(cè)串口通信模塊是否有事件發(fā)生然后做出相應(yīng)的反應(yīng);負(fù)責(zé)完成系統(tǒng)上電復(fù)位、初始化以及低電壓檢測(cè)等功能。CS8900A內(nèi)部的802.3介質(zhì)訪問控制[4]負(fù)責(zé)處理有關(guān)以太網(wǎng)數(shù)據(jù)幀的發(fā)送和接收,包括:數(shù)據(jù)檢測(cè)、幀頭的產(chǎn)生和檢測(cè)、CRC校驗(yàn)碼的生成和驗(yàn)證。以太網(wǎng)模塊用于完成TCP/IP協(xié)議棧中的鏈路層功能,在發(fā)送時(shí)把網(wǎng)絡(luò)層數(shù)據(jù)包轉(zhuǎn)換成以太網(wǎng)物理幀格式用于物理信道上的傳輸;在接收時(shí)將物理信道上接收到的信號(hào)轉(zhuǎn)換成網(wǎng)絡(luò)層數(shù)據(jù)包。?

2 軟件程序設(shè)計(jì)?

??? 軟件部分采用模塊化的設(shè)計(jì)思想,把程序化繁為簡(jiǎn),便于程序的設(shè)計(jì)、調(diào)試及維護(hù)。整個(gè)部分包括初始化模塊、串口數(shù)據(jù)采集及處理模塊、網(wǎng)絡(luò)數(shù)據(jù)采集及處理模塊和TCP/IP模塊,另外還有定時(shí)器中斷用于TCP的重發(fā)機(jī)制計(jì)時(shí)和數(shù)據(jù)采集計(jì)時(shí)、串口中斷用于轉(zhuǎn)發(fā)串口數(shù)據(jù)。?

??? 程序工作流程如圖2所示。?

?

?

2.1初始化模塊?

??? 初始化模塊包括對(duì)主控制器MSP430F149和以太網(wǎng)控制器CS8900A的初始化;包括時(shí)鐘振蕩器的設(shè)置、I/O口初始化設(shè)置、定時(shí)器A的初始化和CS8900A片內(nèi)寄存器的初始化[5]。?

??? 初始化XT1上的8MHz晶振,并用作系統(tǒng)主時(shí)鐘MCLK。?

??? static void InitOsc(void)?

??? {?

??? WDTCTL = WDTPW + WDTHOLD;????? ????// 關(guān)閉看門狗?

??? BCSCTL1 |= XTS;??????????????????? // XT1工作在高頻模式?

??? __bic_SR_register(OSCOFF);???????? // 啟動(dòng)XT1晶振?

??? ? ? do?

??? {?

??? IFG1 &= ~OFIFG;??????? // 清除振蕩器失效標(biāo)志 OFIFG?

??? DelayCycles(100);??? ?????????????????? // 延時(shí)130?滋s?

??? } ?

??? while (IFG1 & OFIFG);?????????????? // 判斷XT1是否起振?

??? BCSCTL2 = SELM_3;?????????????????? // 選擇MCLK為XT1?

??? }? ?

??? I/O口的初始化:P3.7和P3.6初始化用于控制CS8900A的IOW和IOR,P3.5和P3.4用于串口UART0,P3.3~P3.0用于CS8900的地址總線,P5用于CS8900A的數(shù)據(jù)總線,這些都在CS8900A的初始化程序中進(jìn)行。?

??? 以太網(wǎng)模塊CS8900A的初始化程序如下:?

??? void Init8900(void)?

??? {?

??????? unsigned int i;?

????? ? P3OUT = IOR | IOW;???????????????????????????? ?

 ????? P3DIR = 0xff;????????????????????????????????? ?

???  ? P5OUT = 0;???????????????????????????????????? ?

???  ? P5DIR = 0xff;????????????????????????????????? ?

???  ? DelayCycles(40000);??????????????????????????? ?

??? ? ? DelayCycles(40000);?

??????? Write8900(ADD_PORT, PP_SelfCTL);?

??????? Write8900(DATA_PORT,POWER_ON_RESET);???

??? do?

???? ?? Write8900(ADD_PORT, PP_SelfST); ?

??? while? (!(Read8900(DATA_PORT) & INIT_DONE));????

??? }?

2.2數(shù)據(jù)采集及處理?

??? 這里包括網(wǎng)絡(luò)數(shù)據(jù)和串口數(shù)據(jù)的采集和處理。程序設(shè)計(jì)中設(shè)置了全局變量DonetworkStuff函數(shù)來檢查是否收到一個(gè)幀。當(dāng)確定數(shù)據(jù)包是發(fā)給特定模塊時(shí),開始調(diào)用函數(shù)ProcessFrame()來對(duì)數(shù)據(jù)進(jìn)行處理。?

2.3 TCP/IP模塊?

??? 層次結(jié)構(gòu)是描述協(xié)議棧普遍采用的方法,每一層都向上一層提供服務(wù),同時(shí)使用來自下層提供的服務(wù),低層的操作細(xì)節(jié)對(duì)上層來說是不透明的。根據(jù)嵌入式自身的特點(diǎn)和系統(tǒng)需求,對(duì)TCP/IP進(jìn)行了精簡(jiǎn),以更適合嵌入式系統(tǒng)的需要。TCP/IP的4層結(jié)構(gòu)與OSI的7層參考模型對(duì)應(yīng)關(guān)系如圖3所示。?

??? TCP/IP協(xié)議中應(yīng)用層、傳輸層、互聯(lián)網(wǎng)層和網(wǎng)絡(luò)接口層的基本功能如表1所述。?

?

?

??? 當(dāng)有串口數(shù)據(jù)需要發(fā)送或者收到網(wǎng)絡(luò)數(shù)據(jù)后,系統(tǒng)進(jìn)入TCP/IP協(xié)議模塊對(duì)數(shù)據(jù)進(jìn)行處理,TCP/IP協(xié)議模塊的初始化程序如下:?

??? void TCP Init(void)?

??? {?

??????? BCSCTL1 &= ~DIVA0; ?

??????????????????????????????? ?//ACLK=XT1/4=2MHz?

??????? BCSCTL1 |=DIVA1;?

??? TACTL=ID_3+TASSEL_1+MC_2+TAIE;?

??????????????? //選擇ACLK為時(shí)鐘源,1/8分頻,連續(xù)計(jì)數(shù)模式?

??????? Init8900();?

  ??? TransmitControl = 0;?

  ??? TCPFlags = 0;?

???  ? TCPStateMachine = CLOSED;?

??????? SocketStatus = 0;?

??? }?

??? 目前市場(chǎng)成型的串口服務(wù)器產(chǎn)品大多采用高性能32位微處理器在RTOS(實(shí)時(shí)多任務(wù)操作系統(tǒng))上開發(fā),成本高,開發(fā)周期長(zhǎng)。采用16位的MSP430的串口服務(wù)器,成本較低,而且功耗較低,配置以太網(wǎng)控制器CS8900A,有很廣泛的應(yīng)用場(chǎng)合。采用16位微處理器、網(wǎng)絡(luò)接口芯片和精簡(jiǎn)TCP/IP協(xié)議的設(shè)計(jì),實(shí)現(xiàn)RS-232串口和網(wǎng)絡(luò)接口RJ45的轉(zhuǎn)換,既經(jīng)濟(jì),又簡(jiǎn)單。?

??? 在系統(tǒng)的實(shí)時(shí)性方面,MSP430F149單片機(jī)指令速度可達(dá)8MIPS,采用可以提高數(shù)據(jù)傳輸速度的DMA(Direct Memory Access),完全可以滿足串口通信對(duì)實(shí)時(shí)性的要求。另外MSP430F149具有2 KB的ROM,通過建立數(shù)據(jù)緩沖區(qū),能有效解決串口和網(wǎng)口傳輸速率不匹配的矛盾,提高系統(tǒng)的實(shí)時(shí)性。?

參考文獻(xiàn)?

[1] 張晞,王德銀,張晨. MSP430系列單片機(jī)實(shí)用C語言程序設(shè)計(jì). 北京:人民郵電出版社,2005:2-4.?

[2]?張鵬,張愛民,李杰. 基于以太網(wǎng)控制器CS8900A實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)互聯(lián). 電子工程師,2002(2):4-5.?

[3] 張曉飛. 基于MSP430單片機(jī)的嵌入式網(wǎng)絡(luò)終端.合肥工業(yè)大學(xué)碩士論文, 2006:7-8.?

[4] 姚軍,溫陽東,謝毓廣. 基于MSP430F1611 MCU的微機(jī)保護(hù)控制單元. 電氣時(shí)代,2005.?

[5]?MSP430 internet connectivity. http://microcontroller.ti.com
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区三区在线| 欧美日韩国产大片| 国产在线欧美| 亚洲精品在线看| 国产日韩欧美自拍| 日韩亚洲欧美中文三级| 国产婷婷色一区二区三区在线| 日韩视频专区| 韩国女主播一区二区三区| 日韩视频永久免费观看| 极品尤物一区二区三区| 午夜精品一区二区三区在线| 亚洲日本一区二区三区| 久久aⅴ国产欧美74aaa| 一本色道久久综合狠狠躁的推荐| 免费观看30秒视频久久| 午夜在线播放视频欧美| 国产精品视频福利| 日韩视频三区| 亚洲国产精品久久久久秋霞蜜臀| 久久久精品国产99久久精品芒果| 亚洲一区二区三区精品视频 | 亚洲国产欧美一区二区三区同亚洲 | 欧美黄色网络| 亚洲激情六月丁香| 黄色欧美成人| 巨胸喷奶水www久久久免费动漫| 欧美一区二区视频97| 国产在线精品一区二区中文| 久久人人爽国产| 香蕉精品999视频一区二区 | 欧美精品导航| 亚洲美女av网站| 怡红院精品视频在线观看极品| 亚洲欧美另类在线| 99视频一区二区| 欧美日韩国产色站一区二区三区| 亚洲人成网在线播放| 亚洲高清在线观看| 欧美日韩国内自拍| 性感少妇一区| 亚洲电影免费观看高清| 亚洲国产成人av| 欧美性大战xxxxx久久久| 欧美专区亚洲专区| 91久久综合亚洲鲁鲁五月天| 亚洲精品一区二| 国产视频一区在线| 欧美国产另类| 欧美一区2区三区4区公司二百| 亚洲激情在线播放| 亚洲一区二区在线免费观看视频| 国产一区亚洲| 欧美视频一区二| 久久亚洲视频| 欧美一区二区高清| 在线一区免费观看| 久久国内精品视频| 亚洲无线观看| 亚洲精品系列| 亚洲第一区在线观看| 国产欧美综合在线| 国产精品v欧美精品v日本精品动漫 | 国产精品日韩久久久久| 免费永久网站黄欧美| 香蕉亚洲视频| 亚洲一线二线三线久久久| 亚洲区一区二| 亚洲国产日韩美| 久久成人综合网| 欧美一区二区精品在线| 亚洲一区二区欧美日韩| 一区二区三区免费网站| 最新日韩在线视频| 在线精品一区| 国产亚洲欧美激情| 国产午夜精品视频免费不卡69堂| 欧美特黄一级| 国产精品视频九色porn| 欧美亚洲成人网| 国产精品ⅴa在线观看h| 欧美日韩国产一区二区| 欧美日韩精品欧美日韩精品| 欧美乱在线观看| 欧美性生交xxxxx久久久| 亚洲人成网站精品片在线观看| 亚洲欧美精品| 久久超碰97中文字幕| 一区二区欧美国产| 99视频在线观看一区三区| 日韩午夜黄色| 亚洲欧美乱综合| 久久九九热免费视频| 久久综合久久美利坚合众国| 榴莲视频成人在线观看| 男女精品网站| 国产日韩欧美精品在线| 好看不卡的中文字幕| 亚洲免费观看高清在线观看| 亚洲欧美日韩一区二区在线| 亚洲盗摄视频| 欧美一区二区三区在线看| 欧美www视频| 国产免费成人在线视频| 亚洲国产综合91精品麻豆| 午夜精品久久久久久久99黑人| 亚洲美女尤物影院| 美女精品在线观看| 国产精品一区亚洲| 国产精品扒开腿爽爽爽视频| 国产九九精品视频| 欧美性jizz18性欧美| 欧美激情精品久久久久久久变态| 久久久久久久网站| 国产精品久久夜| 亚洲一区日韩| 欧美亚洲视频一区二区| 欧美不卡视频| 欧美三区不卡| 欧美激情中文不卡| 欧美不卡视频一区| 久久精彩免费视频| 亚洲欧美日韩一区二区在线| 亚洲天堂av高清| 一区二区三区高清不卡| 制服丝袜亚洲播放| 欧美在线1区| 久久精品网址| 欧美在线免费播放| 中文在线不卡视频| 亚洲电影天堂av| 99re在线精品| 亚洲精品少妇30p| 亚洲欧美一区二区三区久久| 亚洲激情国产| 欧美激情按摩| 亚洲欧洲日韩综合二区| 亚洲人成久久| 欧美日韩国产二区| 91久久综合亚洲鲁鲁五月天| 亚洲日本成人女熟在线观看| 久久在线免费观看视频| 国产一区99| 亚洲激情自拍| 欧美精品在线一区二区| 亚洲美女免费视频| 亚洲欧美日韩在线观看a三区| 国产精品国产三级国产a| 亚洲免费观看高清在线观看| 99国内精品| 国产精品夜夜夜| 欧美一级网站| 免费成人av资源网| 夜夜嗨av一区二区三区四季av| 亚洲欧美国产高清| 欧美日韩一区二区欧美激情 | 亚洲精品视频免费观看| 欧美色欧美亚洲高清在线视频| 夜夜嗨av一区二区三区中文字幕| 一区二区国产精品| 国产精品裸体一区二区三区| 久久精品国产久精国产思思| 欧美国产大片| 午夜精品久久久久久久蜜桃app| 免费亚洲一区| 欧美在线观看视频在线| 麻豆精品一区二区综合av| 99精品99久久久久久宅男| 久久国产精品99国产| 亚洲精品视频一区| 久久久久高清| 一二三区精品福利视频| 久久色在线播放| 亚洲三级性片| 久久理论片午夜琪琪电影网| 一区二区三区日韩精品视频| 可以看av的网站久久看| 中文在线资源观看视频网站免费不卡| 免费影视亚洲| 91久久精品日日躁夜夜躁国产| 国产农村妇女精品| 亚洲影院免费| 一本一本a久久| 欧美日本一区二区视频在线观看| 久久国产乱子精品免费女| 国产精品s色| 亚洲欧美资源在线| 一二三区精品福利视频| 久久综合激情| 久久成人综合网| 国产区亚洲区欧美区| 久久精品视频播放| 欧美一区二区在线免费观看| 国产美女精品视频| 欧美在线观看你懂的| 亚洲欧美一区二区激情| 欧美三级午夜理伦三级中文幕| 日韩视频免费在线观看| 日韩视频一区二区| 国产精品麻豆欧美日韩ww |