基于MSP430F149的串口服務(wù)器設(shè)計(jì)
摘 要: 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ò)控制。
本文引用地址:http://www.ex-cimer.com/article/155831.htm 本文采用了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]是美國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所示。
圖1 系統(tǒng)的硬件框圖
電源通過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)試 。
主控制器負(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 程序工作流程
評(píng)論