TCP∕IP與RS232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)(硬件)_第1頁
TCP∕IP與RS232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)(硬件)_第2頁
TCP∕IP與RS232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)(硬件)_第3頁
TCP∕IP與RS232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)(硬件)_第4頁
TCP∕IP與RS232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)(硬件)_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

武漢工業(yè)學(xué)院20**畢業(yè)論文PAGE第41頁共28頁武漢工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)題目:TCP/IP與RS232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)(硬件)姓名:學(xué)號:院(系):專業(yè):指導(dǎo)教師:摘要本次畢業(yè)設(shè)計(jì)的課題是“TCP/IP與RS232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)”,主要以ARM7系列的S3C44BOX微處理器和RTL8019AS網(wǎng)絡(luò)接口芯片等構(gòu)建嵌入式系統(tǒng),移植uClinux,并在RHLinux90和uclinux為ARM處理器提供的交叉開發(fā)工具下,完成基于TCP/IP協(xié)議的串口/以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換設(shè)備的開發(fā)。該設(shè)備支持服務(wù)器和客戶機(jī)模式,為傳統(tǒng)串口設(shè)備通過標(biāo)準(zhǔn)TCP/IP協(xié)議接入Internet提供了一種低成本解決方案。本文主要描述了單串口以太網(wǎng)協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)RS232串口數(shù)據(jù)流的收/發(fā)控制,封裝/拆封串口幀,并通過TCP/IP協(xié)議轉(zhuǎn)換模塊將以太網(wǎng)發(fā)送緩沖區(qū)的串口幀封裝在UDP包中,并傳給IP層;同時(shí),接收以太網(wǎng)數(shù)據(jù)幀并向上層層解包,分離應(yīng)用層數(shù)據(jù),然后數(shù)據(jù)的解析處理交由串口發(fā)送模塊完成,實(shí)現(xiàn)RS232串口流與以太網(wǎng)端口流的透明轉(zhuǎn)換。關(guān)鍵詞:串口;以太網(wǎng);S3C44BOX;RTL8019AS;TCP/IP;uclinux;AbstractThisgraduationprojecttopicis“Serialport/EthernetdatatransferbasedonuClinuxoperationsystem”,EmbeddedsystembasedonARM7MCUS3C44BOXandnetworkinterfacechipRTL8019ASisdeveloped,OnwhichuClinuxoperationsystemisported.Serialport/EthernetdatatransferdevicethroughTCP/IPprotocolisdevelopedunderRHLinux9.0anduClinuxcrossenvelopmenttoolsforARM.Serverandclientmodearesupported.Itprovidesalow—costsolutionfortraditionalserial—interfacedequipmenttoconnectwiththeInternet.Thisarticledescribesthesingleserialport/EthernetdatatransferbyTCP/IPprotocol.ItrealizesRS232serialdatastreamreceive/transfer,Packaging/unsealedserialframe.UndertheTCPprotocolconversionmodule,thesedatacouldbesentserialUDPpacketencapsulationinEthernetframebuffer,andtransmitIPlayer;orcouldbereceivedthroughreceivingEthernetdataframestolayeronthepackage,separatingtheapplicationlayerdata.ImplementationRS232serialport/Ethernetportdataflowtransparenttransfer.KeywordsSerialport;Ethernet;S3C44BOX;RTL8019AS;TCP/IP;uclinux目錄TOC\o"1-3"\h\z摘要 1Abstract 2前言 4一設(shè)計(jì)概述 51.1設(shè)計(jì)要求 51.2系統(tǒng)結(jié)構(gòu)框圖 5二模塊電路的介紹 72.1主控制器S3C44BOX 72.2TCP/IP協(xié)議轉(zhuǎn)換模塊 82.3串口收發(fā)控制模塊 82.4MAX232接口電路 82.5以太網(wǎng)接口控制芯片RTL8019AS 8三.系統(tǒng)硬件選型 93.1協(xié)議轉(zhuǎn)換處理CPU選擇 93.1.1S3C44B0X的引腳分析及系統(tǒng)配置電路 93.1.2串口引腳描述及其與S3C44B0X的接口引腳描述 103.1.3電源電路 113.1.4晶振電路與復(fù)位電路 123.1.5實(shí)時(shí)時(shí)鐘電路 143.2FLASH存儲器接口電路 143.3SDRAM接口電路 163.4外圍接口電路設(shè)計(jì) 173.4.1JTAG接口電路 173.4.2RS232接口電路 183.4.3通用I/O接口電路 19四.硬件電路板的調(diào)試和測試 204.1CPU最小系統(tǒng)的調(diào)試 204.2啟動代碼的燒寫和測試 214.2.1系統(tǒng)BootLoader概述 214.2.2BootLoader調(diào)試及燒寫 224.3接口電路調(diào)試 23五總結(jié) 25六致謝 26七附錄 27八.主要參考資料 28前言隨著企業(yè)規(guī)模的擴(kuò)大和Internet技術(shù)的廣泛普及,全球各個(gè)領(lǐng)域的不同企業(yè)已經(jīng)對“讓設(shè)備聯(lián)網(wǎng)”達(dá)成共識,而在工業(yè)控制和通信設(shè)備中,更多的卻是符合RS232標(biāo)準(zhǔn)的串行口設(shè)備。如何將串行口的數(shù)據(jù)轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上,實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制、數(shù)據(jù)的遠(yuǎn)程傳輸便成了一個(gè)亟待解決的問題。同時(shí),考慮到成本問題,以往設(shè)備又不可能全部淘汰,因此,本文提出一種基于TCP/IP的串口轉(zhuǎn)換網(wǎng)關(guān),可從根本上解決這一難題。

串口轉(zhuǎn)換網(wǎng)關(guān)使得串口數(shù)據(jù)流到以太網(wǎng)數(shù)據(jù)流的傳輸成為可能。它能連接RS232串口設(shè)備,并將串口數(shù)據(jù)進(jìn)行選擇和處理,把RS232接口的數(shù)據(jù)流轉(zhuǎn)化成以太網(wǎng)數(shù)據(jù)流,這樣就可以進(jìn)行網(wǎng)絡(luò)化的數(shù)據(jù)處理,實(shí)現(xiàn)串行數(shù)據(jù)的網(wǎng)絡(luò)化。采用此種方案,無需淘汰原有串口設(shè)備,多臺設(shè)備可同時(shí)入網(wǎng),既可以提高設(shè)備利用率,又節(jié)約組網(wǎng)費(fèi)用,還可在已有的網(wǎng)絡(luò)基礎(chǔ)上簡化布線復(fù)雜度。同時(shí)可以設(shè)計(jì)多串口轉(zhuǎn)換接口,采用串口擴(kuò)展芯片GM8123可實(shí)現(xiàn)低成本、較高速度、控制簡單的串口方案。此為本文拓展的方向,從于可以更大地降低成本,使開發(fā)到應(yīng)用有更大價(jià)值。本文主要描述的是單串口以太網(wǎng)轉(zhuǎn)換接口的開發(fā),借助uclinux的內(nèi)核小,效率高,在網(wǎng)絡(luò)方面是非常完整的,擁有TCP/IP和串口驅(qū)動,提供了豐富的API接口函數(shù),特別是提供了網(wǎng)絡(luò)通用的編程接口套接字,實(shí)現(xiàn)TCP協(xié)議建立連接等優(yōu)點(diǎn),進(jìn)行基于三星公司的S3C44B0X嵌入式系統(tǒng)開發(fā)。實(shí)現(xiàn)uclinux移植,網(wǎng)絡(luò)驅(qū)動和串口驅(qū)動的加載,實(shí)行應(yīng)用程序的開發(fā)。利用fttp下載uclinux映像文件,容易實(shí)現(xiàn)系統(tǒng)升級。f一設(shè)計(jì)概述隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,以以太網(wǎng)和TCP/IP為代表的成熟度較高的開放式網(wǎng)絡(luò)技術(shù)逐漸在工業(yè)控制領(lǐng)域被廣泛采用,設(shè)備網(wǎng)絡(luò)化是未來發(fā)展的趨勢,人們希望能夠通過LAN網(wǎng)絡(luò)連接各種設(shè)備,讀取控制中心指令,傳輸數(shù)據(jù),實(shí)現(xiàn)設(shè)備的IP化控制、管理及數(shù)據(jù)存取;而另一方面,目前工業(yè)領(lǐng)域的大量數(shù)控機(jī)床、儀器儀表、傳感器、讀卡器等設(shè)備尚不具備網(wǎng)絡(luò)接口,這些設(shè)備之間最常用的通信接口為RS一232/422/485串口。在不改變原有設(shè)備結(jié)構(gòu)的基礎(chǔ)上為其添加串口/網(wǎng)絡(luò)接口,使其通過TCP/IP協(xié)議接入互聯(lián)網(wǎng),是串口設(shè)備上網(wǎng)的低成本解決方案。本文開發(fā)的串口/以太網(wǎng)轉(zhuǎn)換設(shè)備通過ARM7系列的32位微處理器S3C44BOX對串行口和網(wǎng)卡數(shù)據(jù)協(xié)議進(jìn)行轉(zhuǎn)換和處理,使接收到的串口數(shù)據(jù)流轉(zhuǎn)換為包含TCP/IP協(xié)議可為網(wǎng)絡(luò)識別與傳送的數(shù)據(jù)包,通過網(wǎng)絡(luò)接口設(shè)備發(fā)送至Internet,并對來自以太網(wǎng)的數(shù)據(jù)幀進(jìn)行判斷,使之轉(zhuǎn)換為串行數(shù)據(jù),送達(dá)響應(yīng)的串口設(shè)備,實(shí)現(xiàn)串行口數(shù)據(jù)與以太網(wǎng)數(shù)據(jù)的相互轉(zhuǎn)換,將傳統(tǒng)串口設(shè)備升級為具有網(wǎng)絡(luò)接口的設(shè)備。1.1設(shè)計(jì)要求本次畢業(yè)設(shè)計(jì)的課題為“TCP/IP與RS232協(xié)議轉(zhuǎn)換”,主要由三星公司的S3C44B0X協(xié)議處理芯片,串口收發(fā)控制模塊,TCP/IP協(xié)議轉(zhuǎn)換模塊組成。并完成BootLoader燒寫,硬件電路的測試,uclinux的編譯,嵌入式系統(tǒng)的開發(fā)。具體要求:程序燒寫工序簡單可靠,系統(tǒng)工作穩(wěn)定。對Uclinux內(nèi)核裁減,驅(qū)動加載,實(shí)現(xiàn)其優(yōu)點(diǎn)。CPU與網(wǎng)卡及MAX232接口電路可靠,并提供Jtag調(diào)試電路。能將串口接收到的數(shù)據(jù)通過,廣播方式發(fā)送到局域網(wǎng)中的每臺機(jī)器。1.2系統(tǒng)結(jié)構(gòu)框圖本系統(tǒng)微處理器CPU采用三星公司的S3C44B0X,8MHz外部鐘振,內(nèi)部倍頻至64MHz,F(xiàn)lashROM采用SST39VF16016Mbit(1M×16bit)程序Flash;RAM:64Mbit(4×1M×16bit)PC100/PC133兼容SDRAM;網(wǎng)口控制芯片采用Realtek公司的RTL8019,串口控制芯片采用常見的MAX232。主要芯片都是高度集成,接線簡潔,原理清晰。其圖如圖1:圖1系統(tǒng)結(jié)構(gòu)框圖二模塊電路的介紹2.1主控制器S3C44BOXS3C44BOX是SAMSUNG公司基于ARM7TDMI核的32位微處理器。ARM7TDMI是目前ARM7系列中應(yīng)用較廣的處理器核,T、D、M、1分別表示:T一支持16位Thumb指令集;D一支持片上調(diào)試(Debug);M一內(nèi)嵌硬件乘法器(Multiplier);1一支持嵌入式ICE接口。S3C44BOX是高度集成的SoC片上系統(tǒng),集成了存儲控制器、UART控制器、LCD控制器、AD轉(zhuǎn)換器、IIC和IIS總線控制器、中斷控制器、定時(shí)器、通用I/0口等。S3C44BOX采用平坦地址空間,其內(nèi)置的8個(gè)外部存儲bank可擴(kuò)展出256MB的地址空間。S3C44BOX的片內(nèi)模塊如圖2所示。S3C44BOX內(nèi)置2通道UART,其中每一路UART分別包含一個(gè)l6字節(jié)的接受FIFO和發(fā)送FIFO,波特率可編程控制,最高支持115.2kbps,支持5,6,7,8位數(shù)據(jù)長度,1,2位停止位,支持奇偶校驗(yàn),支持中斷模式和DMA模式。圈2S3C44BOX結(jié)構(gòu)圈2.2TCP/IP協(xié)議轉(zhuǎn)換模塊它是一個(gè)微型的以太網(wǎng)接入模塊,由微控制器(s3c44b0)、網(wǎng)卡接口芯片rtl8019、及輔助元件構(gòu)成。微控制器控制網(wǎng)卡接口芯片進(jìn)行網(wǎng)絡(luò)通信,實(shí)現(xiàn)地址解析協(xié)議(ARP)、Internet控制報(bào)文協(xié)議(ICMP)、IP協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等協(xié)議的解析和封包。將以太網(wǎng)發(fā)送緩沖區(qū)的串口幀封裝在UDP包中,并傳給IP層;同時(shí),接收以太網(wǎng)數(shù)據(jù)幀并向上層層解包,分離應(yīng)用層數(shù)據(jù),然后數(shù)據(jù)的解析處理交由串口發(fā)送模塊完成,實(shí)現(xiàn)RS232串口流與以太網(wǎng)端口流的透明轉(zhuǎn)換。2.3串口收發(fā)控制模塊實(shí)現(xiàn)RS232串口數(shù)據(jù)流的收/發(fā)控制,包括微控制器、MAX232等元件。微控制器控制串口數(shù)據(jù)收發(fā),接收串口源數(shù)據(jù),封裝后寫入以太網(wǎng)發(fā)送緩沖區(qū)打包傳輸;同時(shí),接收以太網(wǎng)應(yīng)用層的數(shù)據(jù),解析并發(fā)送給測控設(shè)備。它不關(guān)心通信數(shù)據(jù)的具體意義,只負(fù)責(zé)接收/發(fā)送,封裝/拆封串口幀,提供通用接口。2.4MAX232接口電路MAX232芯片是MAXIM公司生產(chǎn)的低功耗、單電源雙RS232發(fā)送/接收器。適用于各種EIA-232E和V.28/V.24的通信接口。MAX232芯片內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的+5V電源變換城RS-232C輸出電平所需10V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5V電源就可以。現(xiàn)選用其中一路發(fā)送/接受。T1I接S3C4510B的TXD0端,R1O接S3C4510B的RXD0端。因?yàn)镸AX232具有驅(qū)動能力,所以不需要外加驅(qū)動電路。2.5以太網(wǎng)接口控制芯片RTL8019AS以太網(wǎng)控制芯片選用RealTek公司高度集成的全雙工以太網(wǎng)控制器RTL80l9AS,收發(fā)可同時(shí)達(dá)到l0Mbps速率。該芯片具有以下特性:·遵循EthernetII和IEEE802.3標(biāo)準(zhǔn);·NE2000系列網(wǎng)卡芯片兼容;·具有16位數(shù)據(jù)線接口和20位地址線接口,支持8/16位的數(shù)據(jù)模式;·內(nèi)置16kB的SRAM;·支持跳線和免跳線兩種模式,·免跳線模式下支持微軟的即插即用模式;·支持8條線路的中斷請求;·支持3種標(biāo)準(zhǔn)電源關(guān)閉模式。三.系統(tǒng)硬件選型3.1協(xié)議轉(zhuǎn)換處理CPU選擇在一般的協(xié)議轉(zhuǎn)換系統(tǒng)中,大多數(shù)都使用單片機(jī)作控制及處理CPU,這樣不但不能保證其實(shí)時(shí)性,并且由于其尋址空間有限,需要擴(kuò)展外圍電路,使系統(tǒng)過于復(fù)雜從而導(dǎo)致系統(tǒng)工作不穩(wěn)定,所以在本系統(tǒng)中我們選用Samsung公司的S3C44B0X微處理器作為協(xié)議轉(zhuǎn)換的控制處理CPU。Samsung公司的S3C44B0X通過提供全面的、通用的片上外設(shè),大大減少了系統(tǒng)電路中除處理器外的元器件配置,從而使系統(tǒng)成本最小化。S3C44B0X微處理器片內(nèi)集成ARM7TDMI核,并在ARM7TDMI核的基礎(chǔ)上集成了豐富的外圍功能模塊,包括:8KBcache,內(nèi)部SRAM,LCD控制器,帶自動握手的2通道UART,4通道DMA,外部儲存器控制器,帶有PWM功能的5通道定時(shí)器,具有日歷功能的RTC(實(shí)時(shí)時(shí)鐘),71個(gè)通用可編程I/O口,PLL倍頻器,8通道10位ADC,I2S總線接口,I2C總線接口和同步SIO接口,大大簡化了外圍電路的設(shè)計(jì)。S3C44B0X采用一種新的三星ARMCPU嵌入總線結(jié)構(gòu)-SAMBA2,最大達(dá)66MHZ。選用S3C44B0X一方面可以提高處理速度,另一方面由于S3C44B0X的外圍集成了豐富的功能模塊,簡化了控制CPU的外圍電路。3.1.1S3C44B0X的引腳分析及系統(tǒng)配置電路S3C44B0X有160個(gè)腳,除去系統(tǒng)數(shù)據(jù)和地址總線之后,由我們來進(jìn)行配置的引腳就比較少了,配置電路主要完成系統(tǒng)上電后的一些初始化,對系統(tǒng)的穩(wěn)定工作十分重要。下面就詳細(xì)介紹這些引腳,以及如何對這些引腳進(jìn)行配置。(1)OM[1:0]:輸入OM[1:0]設(shè)置S3C44B0X在測試模式和確定nGCS0的總線寬度,邏輯電平在復(fù)位期間由這些管腳的上拉下拉電阻確定。00:8-bit01:16-bit10:32-bit11:Testmode在本系統(tǒng)中采用16-bit配置,將OM0通過上拉電阻接電源,OM1通過電阻接地。(2)OM[3:2]輸入:OM[3:2]確定時(shí)鐘模式。00=由晶振(XTAL0,EXTAL0),和PLLon決定01=EXTCLK和PLLon決定10,11=芯片測試模式本系統(tǒng)的時(shí)鐘由晶振(XTAL0,EXTAL0),和PLLon決定,所以將OM2和OM3都通過10K電阻接地。(3)EXTCLK輸入:當(dāng)OM[3:2]選擇外部時(shí)鐘時(shí)的外部時(shí)鐘輸入信號線,不用時(shí)必須接高(3.3V)。在系統(tǒng)中我們選用了晶振做時(shí)鐘源,所以該腳接地。(4)XTAL0模擬輸入:系統(tǒng)時(shí)鐘內(nèi)部振蕩線路的晶體輸入腳。EXTAL0模擬輸出:系統(tǒng)時(shí)鐘內(nèi)部振蕩線路的晶體輸出腳,它是XTAL0的反轉(zhuǎn)輸出信號。PLLCAP模擬輸入:接系統(tǒng)時(shí)鐘的環(huán)路濾波電容(700PF)。本系統(tǒng)采用外部8MHz的晶振,PLLCAP通過820PF的電容接地。(5)XTAL1模擬輸入:RTC時(shí)鐘的晶體輸入腳。EXTAL1模擬輸出:RTC時(shí)鐘的晶體輸出腳。它是XTAL1的反轉(zhuǎn)輸出信號。(6)ENDIAN輸入:它確定數(shù)據(jù)類型是littleendian還是bigendian,邏輯電平在復(fù)位期間由該管腳的上拉下拉電阻確定。0:littleendian1:bigendian:本系統(tǒng)中該腳接地。(7)AREFT輸入:ADC頂參考電壓輸入。系統(tǒng)中接電容后接地。AREFB輸入:ADC底參考電壓輸入。系統(tǒng)中接電容后接地。AVCOM輸入:ADC公共參考電壓輸入。系統(tǒng)中接電容后接地。(8)nRESET:復(fù)位信號,nRESET引腳為低電平達(dá)到一定時(shí)間后S3C44B0X進(jìn)復(fù)位狀態(tài)。在電源打開已經(jīng)穩(wěn)定時(shí),nRESET必須保持低電平至少4個(gè)MCLK周期。(9)VDD:S3C44B0X內(nèi)核邏輯電壓(2.5V)。VSS:S3C44B0X內(nèi)核邏輯地。VDDIO:S3C44B0XI/O口電源(3.3V)。VSSIO:S3C44B0XI/O地。RTCVDD:RTC電壓(2.5V或3V,不支持3.3V)。VDDADC:ADC電壓(2.5V)。VSSADC:ADC地。3.1.2串口引腳描述及其與S3C44B0X的接口引腳描述RTL8019AS具有16位數(shù)據(jù)線接口和20位地址線接口,支持8/16位的數(shù)據(jù)模式,其數(shù)據(jù)端口與S3C44B0X的低16位數(shù)據(jù)線相連,中斷請求端口接CPU的外部中斷EINT3引腳.系統(tǒng)網(wǎng)卡接口電路原理圖如圖3圖3網(wǎng)卡接口電路原理圖3.1.3電源電路S3C44B0X的時(shí)鐘電源管理模塊集中管理時(shí)鐘脈沖的發(fā)生與電源。電源管理具有5種模式,使CPU核等基本模塊及外圍模塊的功耗得到優(yōu)化與配置。由于本系統(tǒng)對功耗并沒有特殊要求,所以我們選用正常模式。時(shí)鐘向S3C44B0X的CPU核和外設(shè)提供時(shí)鐘信號,這種模式下,當(dāng)所有的外設(shè)都打開時(shí),功耗達(dá)到最高值。由于S3C44B0X的內(nèi)核電壓為2.5V,而引腳電壓為3.3V,所以系統(tǒng)電源由兩部分組成,將輸入的5V電壓轉(zhuǎn)換成2.5V和3.3V。本系統(tǒng)選用SP1117-2.5和SP1117-3.3。SP1117的輸入最高電壓可達(dá)25V,最大電流為800mA,完全可以達(dá)到系統(tǒng)功耗要求。電路圖如下圖4所示:圖45V轉(zhuǎn)3.3V電路圖55V轉(zhuǎn)2.5V電路3.1.4晶振電路與復(fù)位電路晶振電路用于向CPU及其他電路提供工作時(shí)鐘,S3C44B0X的時(shí)鐘源可以是來自外部晶振,也可是來自外部時(shí)鐘,主時(shí)鐘來源可以是外部的晶振或外部時(shí)鐘。時(shí)鐘發(fā)生器有一個(gè)振蕩器連接到外部晶振上,同時(shí)還有一個(gè)PLL把低頻震蕩器的輸出作為自己的輸入,產(chǎn)生S3C44B0X所需的高頻信號,本系統(tǒng)中采用外部晶振和PLL倍頻產(chǎn)生CPU主頻的模式。S3C44B0X使用無源8M晶振,通過PLL調(diào)整CPU時(shí)鐘使得其工作時(shí)鐘為64MHz。圖6晶振電路在系統(tǒng)中,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶的按鍵復(fù)位功能。復(fù)位電路可由簡單的RC電路構(gòu)成,也可使用其他的相對較復(fù)雜,但功能更完善的電路。本系統(tǒng)采用較簡單的RC復(fù)位電路,經(jīng)使用證明,其復(fù)位邏輯是可靠的。復(fù)位電路如圖7所示:圖7復(fù)位電路兩級斯密特觸發(fā)器電路用于按鈕去抖動和波形整形,通過調(diào)整R1和C1的參數(shù),可調(diào)整復(fù)位狀態(tài)的時(shí)間。該復(fù)位電路的工作原理如下:在系統(tǒng)上電時(shí),通過電阻R19向電容C33充電,當(dāng)C19兩端的電壓未達(dá)到高電平的門限電壓時(shí),nRESET端輸出為低電平,系統(tǒng)處于復(fù)位狀態(tài);當(dāng)C33兩端的電壓達(dá)到高電平的門限電壓時(shí),nRESET端輸出為高電平,系統(tǒng)進(jìn)入正常工作狀態(tài)。當(dāng)用戶按下按鈕S5時(shí),C1兩端的電荷被釋放掉,nRESET端輸出為低電平,系統(tǒng)進(jìn)入復(fù)位狀態(tài),再重復(fù)以上的充電過程,系統(tǒng)進(jìn)入正常工作狀態(tài)。3.1.5實(shí)時(shí)時(shí)鐘電路實(shí)時(shí)時(shí)鐘RTC器件是一種能提供日歷/時(shí)鐘及數(shù)據(jù)存儲等功能的專用集成電路,常用作各種計(jì)算機(jī)系統(tǒng)的時(shí)鐘信號源和參數(shù)設(shè)置存儲電路。特別是在各種嵌入式系統(tǒng)中用于記錄事件發(fā)生的時(shí)間和相關(guān)信息,如通信工程、電氣自動化、工業(yè)控制等自動化程度高的領(lǐng)域中的無人值守環(huán)境。S3C44B0X片內(nèi)集成實(shí)時(shí)時(shí)鐘RTC單元,在系統(tǒng)關(guān)閉的情況下,RTC電源可由后備電池供電,以繼續(xù)運(yùn)行。RTC可通過ARM指令向CPU傳送數(shù)據(jù)。傳送的數(shù)據(jù)包括秒、分、時(shí)、星期、日期、月份和年份。RTC單元實(shí)時(shí)時(shí)鐘由外部32.768kHz晶振提供,可實(shí)現(xiàn)鬧鐘(告警)功能。S3C44B0X的實(shí)時(shí)時(shí)鐘單元外圍電路如圖8所示:圖8實(shí)時(shí)時(shí)鐘電路3.2FLASH存儲器接口電路由于S3C44B0X自身不具有ROM,因此必須外接ROM器件來存儲放、掉電后仍需要保存的代碼和數(shù)據(jù)。閃速存儲器(FlashMemory)具有非易失性,并且可輕易擦寫。Flash技術(shù)結(jié)合了OTP存儲器和EEPROM的可再編程性能,因此,得到越來越廣泛的使用。在本協(xié)議轉(zhuǎn)換中我們選用SST公司推出的容量為1MB×16bit的CMOS多用途FlashROMSST39VF160作為ARM處理器系統(tǒng)的程序和數(shù)據(jù)存儲器。FlashMemorySST39VF160采用標(biāo)準(zhǔn)總線接口與處理器交互,對它的讀取不需要任何特殊的代碼,但需要首先在硬件上設(shè)定OM1~0和大/小端,以便使處理器知道FlashROM的數(shù)據(jù)長度和位序。在ARM體系中字(Word)長度為32位,半字(Half-Word)長度為16位,字節(jié)(Byte)長度為8位。ARM體系結(jié)構(gòu)將存儲器以字節(jié)為單位編址,但作為32位數(shù)據(jù)寬度的處理器,每個(gè)處理單元卻是1個(gè)字的長度,也就是32位。處理器從地址0到地址3放置第一個(gè)字,從地址4到地址7放置第二個(gè)字,依次排列。支持的最大尋址空間為4GB。本系統(tǒng)的配置電路將系統(tǒng)配置為16位數(shù)據(jù)數(shù)據(jù)位寬、小端模式。由于SRAM、SDRAM等存儲設(shè)備屬于揮發(fā)性的存儲器,掉電以后其中的內(nèi)容就會全部丟失,所以必須把系統(tǒng)上電后初始化CPU的程序放在Flash等不揮發(fā)性存儲介質(zhì)上。作為代碼存儲器,F(xiàn)lashROM映射在處理器的Bank0地址空間(從系統(tǒng)地址0x00000000開始)。系統(tǒng)上電復(fù)位時(shí),處理器就自動從0x00000000地址處開始取得指令運(yùn)行。因此,F(xiàn)lashROM中要存放系統(tǒng)的運(yùn)行代碼和基本參數(shù)。SST39VF160與S3C44B0X之間的接口電路如圖9所示。圖9FLASH接口電路圖SST39VF160的數(shù)據(jù)接口為DQ15~0,因此,數(shù)據(jù)寬度是16位的。又注意到處理器的ADDR20~1對應(yīng)這SST39VF160的A19~0,偏移了1位,這是由于S3C44B0X是按照字節(jié)編址的,而SST39VF160是以16位為一個(gè)存儲單元,因此,處理器的地址需要左移1位,采用ADDR1與SST39VF160的A0相連。由于SST39VF160映射在處理器的Bank0區(qū)域內(nèi),因此,它的片選線/CS與處理器的NGCS0相連。3.3SDRAM接口電路與Flash存儲器相比較,隨機(jī)存儲器RAM(RandomAccessMemory)是易失性的存儲器,在掉電以后數(shù)據(jù)即消失,不能夠長期保存。但與ROM器件不同的是,它的隨機(jī)讀寫速度非常快,寫入數(shù)據(jù)之前不用擦除,在系統(tǒng)中我們通常將其作為數(shù)據(jù)存儲區(qū)和堆棧區(qū),存儲系統(tǒng)運(yùn)行中所必須的各種數(shù)據(jù)。因此,SDRAM在系統(tǒng)中主要用做程序的運(yùn)行空間、數(shù)據(jù)及堆棧區(qū)。當(dāng)系統(tǒng)啟動時(shí),CPU首先從復(fù)位地址0x0處讀取啟動代碼,在完成系統(tǒng)的初始化后,程序代碼一般應(yīng)調(diào)入SDRAM中運(yùn)行,以提高系統(tǒng)的運(yùn)行速度,同時(shí),系統(tǒng)及用戶堆棧、運(yùn)行數(shù)據(jù)也都放在SDRAM中。SDRAM具有單位空間存儲容量大和價(jià)格便宜的優(yōu)點(diǎn),已廣泛應(yīng)用在各種嵌入式系統(tǒng)中。SDRAM的存儲單元可以理解為一個(gè)電容,總是傾向于放電,為避免數(shù)據(jù)丟失,必須定時(shí)刷新(充電)。因此,要在系統(tǒng)中使用SDRAM,就要求微處理器具有刷新控制邏輯,或在系統(tǒng)中另外加入刷新控制邏輯電路。S3C44B0X和其它一些ARM芯片在片內(nèi)具有獨(dú)立的SDRAM刷新控制邏輯,不需要通過編程來實(shí)現(xiàn)他們所需的接口時(shí)序,而只需要對與存儲器相關(guān)的寄存器進(jìn)行適當(dāng)?shù)呐渲镁湍芊奖愕呐cSDRAM相連。在本系統(tǒng)中我們選用存儲容量為4組×16Mbit(8M字節(jié))的HY57V641620,其工作電壓為3.3V,常見封裝為54腳TSOP,兼容LVTTL接口,支持自動刷新(Auto-Refresh)和自刷新(Self-Refresh),16位數(shù)據(jù)寬度。根據(jù)系統(tǒng)需求,可構(gòu)建16位的SDRAM存儲器系統(tǒng),作為數(shù)據(jù)存儲區(qū)域。與Flash存儲器相比,SDRAM的控制信號較多,其連接電路也要相對復(fù)雜。但由于S3C44B0X提供對SDRAM的支持,大大簡化外圍電路的設(shè)計(jì)。HY57V641620與S3C44B0X之間的接口電路如圖10所示:圖10SDRAM接口電路圖HY57V641620的數(shù)據(jù)接口為DQ15~0,數(shù)據(jù)寬度為16位。由于S3C44B0X是按照字節(jié)編址的,而HY57V641620是以16位為一個(gè)存儲單元,因此,處理器的地址需要左移1位,采用ADDR1與HY57V641620的A0相連。由于HY57V641620映射在處理器的Bank6區(qū)域內(nèi),因此,它的片選線/CS與處理器的NSCS0相連,其地址為0xc000000~0xc7fffff。由于HY57V641620的存儲空間組織方式是1Mb×16×4Bank,共64Mb,數(shù)據(jù)總線寬度為16位,所以選用A21、A22、A23作為Bank地址選擇線。其余控制線直接和S3C44B0X連接即可。3.4外圍接口電路設(shè)計(jì)3.4.1JTAG接口電路JTAG(JointTestActionGroup,聯(lián)合測試行動小組)是一種國際標(biāo)準(zhǔn)測試協(xié)議,主要用于芯片內(nèi)部測試及對系統(tǒng)進(jìn)行仿真、調(diào)試,JTAG技術(shù)是一種嵌入式調(diào)試技術(shù),它在芯片內(nèi)部封裝了專門的測試電路TAP(TestAccessPort,測試訪問口),通過專用的JTAG測試工具對內(nèi)部節(jié)點(diǎn)進(jìn)行測試。目前大多數(shù)比較復(fù)雜的器件都支持JTAG協(xié)議,如ARM、DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是5線:NTRST、TMS、TCK、TDI、TDO,分別為TAP控制器復(fù)位信號、測試模式選擇、測試時(shí)鐘、測試數(shù)據(jù)輸入和測試數(shù)據(jù)輸出。JTAG測試允許多個(gè)器件通過JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,能實(shí)現(xiàn)對各個(gè)器件分別測試。JTAG接口還常用于實(shí)現(xiàn)ISP(In-SystemProgrammable在系統(tǒng)編程)功能,如對FLASH器件進(jìn)行編程等。通過JTAG接口,可對芯片內(nèi)部的所有部件進(jìn)行訪問,因而是開發(fā)調(diào)試嵌入式系統(tǒng)的一種簡潔高效的手段。目前JTAG接口的連接有兩種標(biāo)準(zhǔn),即14針接口和20針接口,在本系統(tǒng)中我們選用20針接口作為仿真電路接口。JTAG接口電路如下圖11所示:

圖11JTAG接口電路圖在NTRST、TMS、TCK、TDI引腳上必須連接一個(gè)10K的上拉電阻。3.4.2RS232接口電路幾乎所有的微控制器、PC都提供串行接口,使用電子工業(yè)協(xié)會(EIA)推薦的RS-232-C標(biāo)準(zhǔn),這是一種很常用的串行數(shù)據(jù)傳輸總線標(biāo)準(zhǔn)。早期它被應(yīng)用于計(jì)算機(jī)和終端通過電話線和MODEM進(jìn)行遠(yuǎn)距離的數(shù)據(jù)傳輸,隨著微型計(jì)算機(jī)和微控制器的發(fā)展,不僅遠(yuǎn)距離,近距離也采用該通信方式。在近距離通信系統(tǒng)中,不再使用電話線和MODEM,而直接進(jìn)行端到端的連接,目前大多都用來作為調(diào)試程序時(shí)與PC機(jī)進(jìn)行通訊。串口除了完成與CPU通訊功能之外,在系統(tǒng)控制板完成焊接后,可以使用串口完成BootLoader的燒寫,程序的調(diào)試和字庫的下載。由于模塊中的接口為RS-232-C電平,標(biāo)準(zhǔn)邏輯“1”對應(yīng)-5V~-15V電平,標(biāo)準(zhǔn)邏輯“0”對應(yīng)+5V~+15V電平,顯然,兩者間要進(jìn)行通信必須經(jīng)過信號電平的轉(zhuǎn)換。系統(tǒng)中串口轉(zhuǎn)換芯片采用MAX232將單片機(jī)串口中輸出的TTL電平轉(zhuǎn)換為與PC機(jī)兼容的電平信號。同時(shí)將PC機(jī)的電平信號重新轉(zhuǎn)換為TTL電平信號,以便是單片機(jī)與PC機(jī)之間可以通過串口通信。MAX232的接口電路中,將單片機(jī)上的RXD和TXD信號接到MAX232對應(yīng)的引腳上,圖12RS232接口電路3.4.3通用I/O接口電路S3C44B0X提供71個(gè)可編程多功能輸入/輸出引腳,除去系統(tǒng)最小系統(tǒng)需要的地址、數(shù)據(jù)總線和控制總線后,其余的用戶可將每個(gè)端口配置為輸入模式、輸出模式或特殊功能模式,由芯片內(nèi)部的特殊功能寄存器控制。在該系統(tǒng)的設(shè)計(jì)中,由于要和FPGA連接,所以需要預(yù)先保留足夠的引腳。系統(tǒng)的ProtC、ProtD、ProtE、ProtF、ProtG都沒有使用,所以都可以做為通用I/O口使用。四.硬件電路板的調(diào)試和測試印制電路板制作完畢后,進(jìn)行硬件調(diào)節(jié)的基本原則是首先對照原理圖仔細(xì)檢查印制電路板的連線,確保無誤后才可以進(jìn)行焊接。同時(shí),盡可能的以各單元電路為單位,一個(gè)個(gè)焊接調(diào)試,以便在調(diào)試過程中遇到困難時(shí)縮小故障范圍,在系統(tǒng)上電后,應(yīng)先檢查電路工作有無異常,芯片在工作時(shí)有一定的發(fā)熱是正常的,但如果有芯片特別發(fā)燙,則一定有故障存在,需斷電檢查確認(rèn)無誤后方可繼續(xù)通電調(diào)試。4.1CPU最小系統(tǒng)的調(diào)試在電路主電路板檢查無誤后,首先完成電路板上的S3C44B0X、SST39VF1601、電源電路以及S3C44B0X配置電路的焊接。先將焊接完成的最小系統(tǒng)上電,使用萬用表測量電壓為DC3.3V,用手感覺各個(gè)芯片的溫度,沒有芯片過熱發(fā)燙的現(xiàn)象,沒有短路現(xiàn)象的發(fā)生。用示波器觀測,顯示波形正常,晶振的輸出頻率為8MHz,系統(tǒng)時(shí)鐘工作正常。復(fù)位電路的RESET端在未按按鈕時(shí)輸出應(yīng)為高電平(3.3V),按下按鈕后變?yōu)榈碗娖剑粹o松開后應(yīng)恢復(fù)到高電平,說明復(fù)位電路工作是正常的。電源電路、晶振電路和復(fù)位電路是整個(gè)系統(tǒng)正常工作的基礎(chǔ),應(yīng)首先保證他們的正常工作。當(dāng)接上JTAG接口后,打開MySockARM調(diào)試代理軟件,上面顯示:說明S3C44B0X工作不正常。使用萬用表測量各個(gè)配置引腳,發(fā)現(xiàn)除了JTAG口上的TDI電平不正常之外其它電路都工作正常。現(xiàn)在估計(jì)是JTAG電路發(fā)生短路,將復(fù)位電路中的74HC14拆下來,使用萬用表發(fā)現(xiàn)74HC14的3、4腳短路,用刀片把兩點(diǎn)間劃開,重新焊到電路板上重復(fù)先前的測試步驟,MySockARM調(diào)試代理軟件顯示:DetectARM7TDMIContactme:sendtoyou@21說明此時(shí)S3C44B0X配置正常,可以進(jìn)行BootLoader的燒寫。4.2啟動代碼的燒寫和測試4.2.1系統(tǒng)BootLoader概述引導(dǎo)加載程序是系統(tǒng)加電后運(yùn)行的第一段軟件代碼。回憶一下PC的體系結(jié)構(gòu)就可以知道,PC機(jī)中的引導(dǎo)加載程序由BIOS和位于硬盤MBR(MasterBootRecord

主啟動記錄)中的OSBootLoader一起組成。BIOS在完成硬件檢測和資源分配后,將硬盤MBR中的BootLoader讀到系統(tǒng)的RAM中,然后將控制權(quán)交給OSBootLoader。BootLoader的主要運(yùn)行任務(wù)就是將內(nèi)核映象從硬盤上讀到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,也即開始啟動操作系統(tǒng)。本系統(tǒng)所使用的BootLoader是存儲在系統(tǒng)非易失性存儲器中,在系統(tǒng)上電后執(zhí)行系統(tǒng)初始化的啟動代碼。BootLoader的作用主要是完成用戶程序在編譯后下載到目標(biāo)板上運(yùn)行時(shí),首先對系統(tǒng)進(jìn)行存儲器的映射并建立調(diào)試環(huán)境,然后通過ADS(或SDT)調(diào)試環(huán)境下載,顯然,這個(gè)過程對普通用戶來說顯得特別煩瑣,然而,要在裸板(沒有任何程序的系統(tǒng)板)上調(diào)試運(yùn)行程序,也只能采用這種方法。如果能在用戶設(shè)計(jì)的系統(tǒng)板上燒寫B(tài)ootLoader程序,就可以將該過程屏蔽起來,讓用戶通過一些簡單的操作,就可完成程序的下載、調(diào)試等工作。在嵌入式系統(tǒng)中,通過BootLoader可以完成對系統(tǒng)板上的主要部件如CPU、SDRAM、Flash、串行口等進(jìn)行初始化,也可以下載文件到系統(tǒng)板、對Flash進(jìn)行擦除與編程。事實(shí)上,一個(gè)功能完善的BootLoader已經(jīng)相當(dāng)于一個(gè)微型的操作系統(tǒng)了。BootLoader作為系統(tǒng)復(fù)位或上電后首先運(yùn)行的代碼,一般應(yīng)寫入Flash存儲器中并從起始物理地址0x0開始。BootLoader根據(jù)實(shí)際的功能不同,其復(fù)雜程度也各不相同。一個(gè)簡單的BootLoader程序可以僅僅完成串行口的初始化,并進(jìn)行通信,而功能完善的BootLoader可以支持比較復(fù)雜的命令集,對系統(tǒng)的軟硬件資源進(jìn)行合理的配置與管理。因此,用戶可根據(jù)自身的需求實(shí)現(xiàn)相應(yīng)的功能。簡單地說,BootLoader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。4.2.2BootLoader調(diào)試及燒寫JTAG接口正常工作后,下一步就是檢查SST39VF1601是否可以工作。由于本系統(tǒng)的電路是參考杭州立宇泰電子有限公司的ARMSYS-C開發(fā)板設(shè)計(jì)完成的,所以可以直接使用其公司提供的BootLeader和開發(fā)工具。先插上立宇泰公司的ARMSYS-C開發(fā)板的JTAG調(diào)試仿真接口(此時(shí)需要斷電進(jìn)行插拔),使用fluted工具先燒寫一個(gè)ledtest程序,電路板上的四個(gè)LED都能電亮,但是沒有閃動,現(xiàn)在還確定S3C44B0X已經(jīng)正常工作,F(xiàn)LASH是可以進(jìn)行擦除和燒寫的。然后使用同樣的方法,使用fluted工具燒寫B(tài)ootLeader時(shí),剛打開fluted工具就軟件就自動關(guān)閉,無法完成程序的燒寫。到杭州立宇泰的官方網(wǎng)站上查閱了相關(guān)的資料,都沒有涉及到這方面的,仔細(xì)閱讀了杭州立宇泰ARMSYS-C開發(fā)板提供的ADS開發(fā)資料,發(fā)現(xiàn)立宇泰公司提供一個(gè)JTAG.exe協(xié)議程序,作用是將調(diào)試器ADW發(fā)送到網(wǎng)上的調(diào)試信息攔截并轉(zhuǎn)換為發(fā)送到并口的JTAG信號。在使用ADW進(jìn)行仿真調(diào)試時(shí)或者燒錄flash時(shí),是需要運(yùn)行這個(gè)程序的。根據(jù)立宇泰公司資料上的步驟安裝了JTAG.exe之后,現(xiàn)在就可以直接使用fluted工具在空板上燒寫B(tài)ootLoader。現(xiàn)在還是先將電路板上的SDRAM焊好,按照資料上的要求,將立宇泰提供的bootloader.bin拷貝到相應(yīng)的目錄下,點(diǎn)擊F_2000xp.BAT,windows系統(tǒng)跳出DOS界面顯示ID顯示正常,擦除FLASH后可以進(jìn)行燒寫,只是燒寫的速度很慢。待燒寫、校驗(yàn)完畢后,復(fù)位系統(tǒng),系統(tǒng)中的四個(gè)LED燈閃爍一下。打開超級終端,設(shè)置為COM1并且波特率為115200bit/s,復(fù)位后超級終端顯示:OEMname:HangZhouLiYuTaielec.Function:ARMSys'sBootLoaderforLinuxV1.3Email:lyt_tech@UARTcomfig:115.2kbps,8Bit,NP,UART0usingUSB:YesNand-flash:NoneInitializingsystem......1.DownloadcodetoSDRAM.2.DownloadcodetoSDRAM&Nandflash.3.BurnflashROM.4.CopycodefromflashROMtoSDRAM.5.Runatspecifyaddress.6.RuncodeinNandflash.7.StartuClinux.8.FormatNandflash.9.Testhardware說明BootLoader已經(jīng)燒入到FLASH中,系統(tǒng)也可以正常工作。打開ADS開發(fā)環(huán)境,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論