国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NiosII軟核的嵌入式網(wǎng)絡(luò)通信電路設(shè)計(jì)

2015-10-22 10:26王勇等
科技視界 2015年30期
關(guān)鍵詞:嵌入式系統(tǒng)網(wǎng)絡(luò)通信

王勇等

【摘 要】越來(lái)越多的基于NiosII軟核的嵌入式系統(tǒng),采用以太網(wǎng)通信方式進(jìn)行數(shù)據(jù)傳遞。ENC28J60是一種高集成度的以太網(wǎng)接口芯片,內(nèi)置了10 Mbps以太網(wǎng)物理層器件、媒體訪(fǎng)問(wèn)控制器,以及SPI串行接口,十分適合嵌入式系統(tǒng)的網(wǎng)絡(luò)通信。主要介紹了ENC28J60的內(nèi)部構(gòu)成、基于NiosII的網(wǎng)絡(luò)通信電路的軟硬件設(shè)計(jì),以及電路調(diào)試過(guò)程。

【關(guān)鍵詞】NiosII;網(wǎng)絡(luò)通信;ENC28J60;嵌入式系統(tǒng)

0 引言

以太網(wǎng)接口具有兼容性好、傳輸速度高等優(yōu)點(diǎn),在計(jì)算機(jī)通信中使用廣泛?;贜ios軟核的嵌入式系統(tǒng)在航空航天、武器裝備、工業(yè)生產(chǎn)等領(lǐng)域應(yīng)用普遍。嵌入式系統(tǒng)與現(xiàn)有互聯(lián)網(wǎng)通常采用以太網(wǎng)連接方式,因此采用FPGA技術(shù),調(diào)用NiosII軟核處理器,通過(guò)該處理器對(duì)通信芯片ENC28J60進(jìn)行控制,實(shí)現(xiàn)嵌入式網(wǎng)絡(luò)通信是必要的。

1 ENC28J60芯片功能及內(nèi)部構(gòu)成

ENC28J60是Microchip推出的一款集成有SPI串行接口的以太網(wǎng)控制器,由于它引腳數(shù)少、成本低、高效易用,所以常常用于嵌入式以太網(wǎng)解決方案中。ENC28J60只有28個(gè)引腳,其物理層和數(shù)據(jù)聯(lián)絡(luò)層的MAC子層符合IEEE 802.3規(guī)范,內(nèi)部有DMA模塊,可實(shí)現(xiàn)數(shù)據(jù)的快速吞吐。ENC28J60芯片內(nèi)部由7部分模塊構(gòu)成:(1)SPI總線(xiàn)接口:用于實(shí)現(xiàn)ENC28J60和主控制器的通信,主要由移位寄存器,波特率發(fā)生器,數(shù)據(jù)緩沖區(qū)構(gòu)成;(2)總線(xiàn)接口:連接控制寄存器和SPI電路,負(fù)責(zé)解析SPI接收的數(shù)據(jù)和命令;(3)控制寄存器:包括EIR、EIE、ECON1、ECON2等寄存器,通過(guò)對(duì)它們的設(shè)置,可以對(duì)ENC28J60的工作情況進(jìn)行監(jiān)視和控制;(4)RAM雙口緩沖器:對(duì)數(shù)據(jù)包進(jìn)行發(fā)送和接收。(5)判優(yōu)器:對(duì)RAM緩沖器進(jìn)行訪(fǎng)問(wèn)控制,對(duì)DMA、接受和發(fā)送請(qǐng)求應(yīng)答;(6)MAC模塊:介質(zhì)訪(fǎng)問(wèn)控制,能夠控制與物理層連接的物理介質(zhì);(7)PHY模塊:作為物理層模塊,能夠?qū)﹄p絞線(xiàn)上的模擬信號(hào)進(jìn)行編碼/譯碼。

2 基于NiosII的硬件設(shè)計(jì)

系統(tǒng)硬件結(jié)構(gòu)如圖1所示,NiosII是一個(gè)可配置的通用32位嵌入式處理器,以軟核形式實(shí)現(xiàn),具有高度的可配置性和靈活性。NiosII軟核處理器的構(gòu)建如下:⑴新建quartus工程和原理圖文件,點(diǎn)擊運(yùn)行SOPC builder,在彈出的窗口中新建一個(gè)CPU核;⑵建立SDRAM模塊,在SOPC Builder下的SDRAM選項(xiàng)將數(shù)據(jù)寬度調(diào)整到16bit,因?yàn)樵O(shè)計(jì)使用的SDRAM芯片是16位的;⑶建立EPCS控制器,將flash下的EPCS Serial flash controller添加進(jìn)軟核;⑷添加JTAG UART,用于軟件調(diào)試。上述過(guò)程完成后,一個(gè)基本的NiosII處理器就完成了構(gòu)建。然后需要對(duì)軟核處理器進(jìn)行設(shè)置,完成后進(jìn)行編譯,編譯成功后返回原理圖編輯頁(yè)面,調(diào)出NiosII處理器放置在設(shè)計(jì)界面上。

接下來(lái)為Nios處理器添加SPI外設(shè)接口和PLL模塊:⑴雙擊新建的NiosII處理器元件進(jìn)入SOPC Builder 界面,選擇SPI接口模塊;確定SPI時(shí)鐘速率為10Mhz,數(shù)據(jù)寬度為8bit;構(gòu)建兩個(gè)PIO,一個(gè)作為SPI的CS口,一個(gè)作為中斷口。⑵PLL為鎖相環(huán)模塊,它具有倍頻的功能,因?yàn)閮?nèi)嵌CPU和SDRAM的運(yùn)行時(shí)鐘為100Mhz,而FPGA的板載時(shí)鐘為50Mhz,所以需要添加PLL模塊對(duì)板載時(shí)鐘進(jìn)行2倍頻。

2 軟件設(shè)計(jì)與調(diào)試結(jié)果

軟件設(shè)計(jì)主要包括:(1)主程序編寫(xiě):主要是對(duì)ENC28J60初始化程序和服務(wù)程序的調(diào)用,先定義一個(gè)數(shù)組,把6個(gè)字節(jié)的MAC地址添加進(jìn)去,調(diào)用ENC28J60的初始化程序,再調(diào)用服務(wù)程序即可實(shí)現(xiàn)以太網(wǎng)通信。(2)ENC28J60初始化程序的編寫(xiě):將CS片選信號(hào)置高電平,軟件復(fù)位;對(duì)緩沖區(qū)初始化,主要是對(duì)接收和發(fā)送緩沖起始地址、末尾地址以及接收/發(fā)送指針指向地址的設(shè)置;對(duì)接收過(guò)濾器的設(shè)置,主要是將與設(shè)置的MAC地址不匹配的數(shù)據(jù)丟棄,校驗(yàn)使能,格式是否匹配的配置等;MAC初始化:接收使能,暫停接收、發(fā)送控制幀使能,使能流量控制,自動(dòng)填充CRC配置,全雙工的配置;最大幀設(shè)置,MAC地址的寫(xiě)入,以及對(duì)數(shù)據(jù)包的發(fā)送和讀寫(xiě)操作。(3)寫(xiě)服務(wù)程序的編寫(xiě):首先是對(duì)IP、ARP、UDP、TCP的初始化,并把目標(biāo)MAC地址、IP地址、端口號(hào)進(jìn)行輸出在控制臺(tái)上顯示。IP層的初始化主要包括判斷是否接收到有效的數(shù)據(jù)包,等待下一個(gè)數(shù)據(jù)包,對(duì)tcp、udp端口的設(shè)置并進(jìn)行監(jiān)聽(tīng),這些函數(shù)都是從ip_arp_udp_tcp.c文件中調(diào)用的,而該文件程序可以根據(jù)參考LwIP協(xié)議進(jìn)行編寫(xiě)。程序?qū)懞煤髣t對(duì)工程進(jìn)行整體編譯,然后進(jìn)行程序下載。

在進(jìn)行功能調(diào)試過(guò)程中下載口選擇JTAG,因?yàn)锳S下載口是把程序固化到配置芯片中。將編譯好的.sof文件通過(guò)JTAG口下載到FPGA芯片中,用網(wǎng)絡(luò)交叉線(xiàn)連接PC機(jī)和所設(shè)計(jì)好的嵌入式系統(tǒng),通過(guò)控制臺(tái)可以看到,連接成功并顯示目標(biāo)主機(jī)的MAC地址、IP地址、TCP端口號(hào)。打開(kāi)TCP&UDP測(cè)試工具軟件,構(gòu)建服務(wù)器,根據(jù)Nios II IDE控制臺(tái)得到的目標(biāo)主機(jī)IP地址和端口號(hào),進(jìn)行測(cè)試參數(shù)設(shè)置,完成后點(diǎn)擊連接。發(fā)送多字節(jié)數(shù)據(jù)給目標(biāo)主機(jī),完成后根據(jù)嵌入式系統(tǒng)內(nèi)部的軟件服務(wù)程序,對(duì)接收到的數(shù)據(jù)進(jìn)行識(shí)別和回發(fā)。實(shí)驗(yàn)結(jié)果證明,嵌入式系統(tǒng)的網(wǎng)絡(luò)通信功能工作穩(wěn)定。

3 結(jié)論

網(wǎng)絡(luò)通信芯ENC28J60內(nèi)部集成了SPI接口電路,可以進(jìn)行高速、全雙工、同步通信。同時(shí),該芯片內(nèi)部還集成了DMA 模塊, 可以實(shí)現(xiàn)數(shù)據(jù)的快速吞吐。NiosII技術(shù)具有編程靈活,集成度高、可移植性強(qiáng)等特點(diǎn),廣泛應(yīng)用于現(xiàn)代電子系統(tǒng)設(shè)計(jì)。把以太網(wǎng)和NiosII軟核技術(shù)結(jié)合在一起,可以設(shè)計(jì)出通信速度高、性能穩(wěn)定、外形小巧的網(wǎng)路通信電路,從而有效解決嵌入式系統(tǒng)的網(wǎng)絡(luò)接入難題。

【參考文獻(xiàn)】

[1]陳奎,吳愛(ài)國(guó),等.用ENC28J60和FPGA設(shè)計(jì)通用以太網(wǎng)控制器[J].電子產(chǎn)品世界,2005(21):94-95.

[2]張海平,劉偉,等.基于FPGA的SPI串行接口實(shí)時(shí)以太網(wǎng)實(shí)現(xiàn)[J].電子世界,2013(6):141-142.

[責(zé)任編輯:曹明明]

猜你喜歡
嵌入式系統(tǒng)網(wǎng)絡(luò)通信
基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計(jì)
基于CAN總線(xiàn)的網(wǎng)絡(luò)通信信道的建模與研究
計(jì)算機(jī)網(wǎng)絡(luò)通信常見(jiàn)問(wèn)題與技術(shù)發(fā)展研究
網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計(jì)
談?dòng)?jì)算機(jī)網(wǎng)絡(luò)通信常見(jiàn)問(wèn)題及技術(shù)發(fā)展
辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究