《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32嵌入式系統(tǒng)的智能控制網(wǎng)絡(luò)終端設(shè)計(jì)
基于STM32嵌入式系統(tǒng)的智能控制網(wǎng)絡(luò)終端設(shè)計(jì)
北京工業(yè)大學(xué)電子信息與控制工程學(xué)院 王鐵流,秦璐璐,李宗方,高嵩
摘要: 智能網(wǎng)絡(luò)終端是實(shí)現(xiàn)智能化管理的嵌入式終端設(shè)備。通常具有安全門禁系統(tǒng)和自動(dòng)化控制的基本功能。本文重點(diǎn)介紹基于STM32的智能嵌入式終端的網(wǎng)絡(luò)控制功能的設(shè)計(jì)和實(shí)現(xiàn)。
Abstract:
Key words :

 

stebin">         智能網(wǎng)絡(luò)終端是實(shí)現(xiàn)智能化管理的嵌入式終端設(shè)備。通常具有安全門禁系統(tǒng)和自動(dòng)化控制的基本功能。本文重點(diǎn)介紹基于STM32的智能嵌入式終端的網(wǎng)絡(luò)控制功能的設(shè)計(jì)和實(shí)現(xiàn)。
  1智能網(wǎng)絡(luò)通信實(shí)現(xiàn)方案
  將嵌入式系統(tǒng)與Internet連接起來(lái)實(shí)現(xiàn)遠(yuǎn)距離信息獲取和控制功能的本質(zhì)是嵌入式系統(tǒng)本身能夠?qū)崿F(xiàn)TCP/IP網(wǎng)絡(luò)通信協(xié)議。該協(xié)議的解決方案總體上可分為兩大類。第一類是直接在嵌入式設(shè)備上實(shí)現(xiàn)TCP/IP,使之直接連上Internet。這實(shí)質(zhì)上是由MCU及內(nèi)部固化TCP/IP協(xié)議的芯片組成應(yīng)用系統(tǒng)的核心,MCU可以直接撥號(hào)上網(wǎng),這種方法的硬件電路相對(duì)簡(jiǎn)單,也不需要中間環(huán)節(jié)的支持。但是由于使用了TCP/IP協(xié)議芯片,因此需要大容量的程序存儲(chǔ)器,而且要求MCU有較高的運(yùn)行速度。同時(shí),應(yīng)用程序設(shè)計(jì)師還必須熟悉TCP/IP協(xié)議,且軟件設(shè)計(jì)復(fù)雜,工作量大。目前,此方案的典型代表有SX-stack、Sciko公司的S7600A芯片;第二類是使嵌入式設(shè)備經(jīng)過(guò)通信轉(zhuǎn)換后,再通過(guò)公用的TCP/IP轉(zhuǎn)接口(網(wǎng)關(guān)Gateway)與Intemet相連。目前有以下幾種方式:
  (1)通過(guò)使用獨(dú)立于微控制器MCU的專用的網(wǎng)絡(luò)接口芯片來(lái)完成單片機(jī)與網(wǎng)關(guān)間的協(xié)議轉(zhuǎn)換,并以此作為鏈接到Internet的橋梁。例如韓國(guó)WIZnet公司的W5100芯片;
  (2)用單片機(jī)控制以太網(wǎng)網(wǎng)卡進(jìn)行數(shù)據(jù)傳輸,此時(shí)必須加載TCP/IP協(xié)議到單片機(jī)中;
  (3)用代理協(xié)議來(lái)完成與網(wǎng)關(guān)間的協(xié)議轉(zhuǎn)換。
  本設(shè)計(jì)采用獨(dú)立于微控制器MCU的專用網(wǎng)絡(luò)接口芯片來(lái)實(shí)現(xiàn)TCP/IP協(xié)議,微處理器選擇STM32F103VB,網(wǎng)絡(luò)芯片選擇W5100。二者通過(guò)SH接口進(jìn)行連接,其連接示意圖如圖1所示。
  2硬件平臺(tái)的設(shè)計(jì)
  2.1  總體設(shè)計(jì)
  本系統(tǒng)的硬件可分為采集模塊、處理模塊、鍵盤和顯示模塊、傳輸模塊、控制模塊和供電模塊等。其中采集模塊負(fù)責(zé)采集信息;處理模塊負(fù)責(zé)控制整個(gè)系統(tǒng)的工作,處理和存儲(chǔ)采集到的信息,控制模塊則可以進(jìn)行相應(yīng)的控制;鍵盤和顯示模塊負(fù)責(zé)顯示相關(guān)信息以提示現(xiàn)場(chǎng)人員操作;網(wǎng)絡(luò)傳輸模塊負(fù)責(zé)信息與數(shù)據(jù)服務(wù)器進(jìn)行信息交互;供電模塊負(fù)責(zé)為整個(gè)系統(tǒng)供電。圖2所示是系統(tǒng)的結(jié)構(gòu)框圖。通過(guò)這種結(jié)構(gòu)可以自主開發(fā)出一套高性價(jià)比、低成本、低功耗、開發(fā)周期短、運(yùn)行速度快、可靠性高、功能齊全、擴(kuò)展性強(qiáng)的網(wǎng)絡(luò)控制終端。
  2.2  硬件實(shí)現(xiàn)
  本系統(tǒng)的處理器模塊選用ST公司剛剛推出不久的、基于ARM CortexTM-M3內(nèi)核的新一代嵌入式STM32芯片。這是一款專為嵌入式應(yīng)用而開發(fā)的內(nèi)核。它帶有把中斷之間延遲降到6個(gè)CPU周期的嵌套向量中斷控制器,允許在每一個(gè)寫操作中修改單個(gè)數(shù)據(jù)位的獨(dú)立位操作,可進(jìn)行分支指令預(yù)測(cè)、單周期乘法、硬件除法且有高效的Thumb 2指令集。這些改良技術(shù)使Cortex-M3內(nèi)核具有優(yōu)異的代碼密度、實(shí)時(shí)性和低功耗性能。所有這些新功能都同時(shí)具有目前最優(yōu)的功耗水平,非常適合應(yīng)用于長(zhǎng)時(shí)間工作的終端控制系統(tǒng)。
 
  本系統(tǒng)由+12 V電源輸入,同時(shí)經(jīng)過(guò)LM2575和78L09穩(wěn)壓后分別得到5 V和9 V電壓,5 V再經(jīng)過(guò)SPX1117M3-3.3電壓穩(wěn)壓轉(zhuǎn)換后得到3.3 V,這樣3.3 V、5 V和9V電壓即能夠很好地滿足內(nèi)核、外設(shè)和外部電路的供電。系統(tǒng)時(shí)鐘源可采用外部晶振,內(nèi)部PLL電路可以調(diào)整系統(tǒng)時(shí)鐘,使系統(tǒng)運(yùn)行速度更快。為了提供性能優(yōu)越的電源監(jiān)控性能,這里選取了專門的MAX811系統(tǒng)監(jiān)視復(fù)位芯片,該芯片可以通過(guò)手動(dòng)控制系統(tǒng)的復(fù)位,同時(shí)還可以實(shí)時(shí)監(jiān)控系統(tǒng)電源,一旦系統(tǒng)電源低于系統(tǒng)復(fù)位閥值,電路中的MAX811將產(chǎn)生一個(gè)140ms的復(fù)位脈沖信號(hào)來(lái)對(duì)系統(tǒng)進(jìn)行復(fù)位。
 
  系統(tǒng)網(wǎng)絡(luò)模塊選用的W5100芯片是一款多功能的單片網(wǎng)絡(luò)接口芯片。它內(nèi)部集成有10/100Mbps以太網(wǎng)控制器,可支持自動(dòng)應(yīng)答(全雙工/半雙工模式),主要用于高集成、高穩(wěn)定、高性能和低成本的嵌入式系統(tǒng)。使用W5100可以實(shí)現(xiàn)沒(méi)有操作系統(tǒng)的Internet連接。W5100與IEEE802.310BASE-T和802.3u 100BASE-TX兼容。此外,W5100內(nèi)部集成有全硬件的、經(jīng)過(guò)多年市場(chǎng)驗(yàn)證的TCP/IP協(xié)議棧、以太網(wǎng)介質(zhì)傳輸層(MAC)和物理層(PHY)。其硬件TCP/IP協(xié)議可支持TCP、UDP、ICMP、IGMP、IPv4、ARP、PPPoE和IGMP。同時(shí)可支持4個(gè)獨(dú)立的端口(Socket)通信,其內(nèi)部16 K字節(jié)的發(fā)送,接收緩沖區(qū)可快速進(jìn)行數(shù)據(jù)交換,其最大通信速率可達(dá)25 Mbps。利用W5100提供的多種總線(并行總線和SPI總線)接口方式可以很方便地與各種MCU連接。可以說(shuō),W5100器件的推出,大大簡(jiǎn)化了硬件電路設(shè)計(jì),并可使微控制器系統(tǒng)在沒(méi)有操作系統(tǒng)的支持下實(shí)現(xiàn)單芯片接人Internet的理想。一般情況下,只需設(shè)置寄存器和存儲(chǔ)器,就可以通過(guò)W5100芯片進(jìn)行Internet奎接。
 
  在設(shè)計(jì)中,STM32F103與W5100可通過(guò)SPI接口進(jìn)行連接。STM32F103作為SPI主設(shè)備,W5100作為SPI從設(shè)備,并由STM32F103為W5100提供通信時(shí)鐘,二者的接口連接圖如圖3所示。
  但是,STM32F103在與W5100以SPI方式連接時(shí),應(yīng)注意以下幾點(diǎn):
 
  (1)W5100的SEN引腳必須通過(guò)一個(gè)10 kΩ的電阻接到高電平,以選W5100的SPI接口方式;
 
  (2)W5100的D0~D7、A0~A14及CS、WR、RD可以懸空,只使用SCLK、SCS、MOSI和MISO四根信號(hào)線;
 
  (3)W5100的INT引腳是中斷輸出,MCU需要根據(jù)該信號(hào)來(lái)判斷W5100的中斷狀態(tài);
 
  (4)LINKLED是W5100輸出的以太網(wǎng)物理層信號(hào),MCU需要根據(jù)該信號(hào)判斷以太網(wǎng)的聯(lián)接是否正常。該信號(hào)一般需要上拉輸入到MCU;
 
  (5)W5100的SPDLED、FDXLED、COLLED可以根據(jù)選擇是否需要輸入到MCU。
 
  另外,系統(tǒng)中的存儲(chǔ)器模塊可以選用ST公司的64 MB的串行代碼存儲(chǔ)閃存M25P64。該器件的數(shù)據(jù)傳輸時(shí)鐘頻率為50 MHz,數(shù)據(jù)讀取吞吐量為50 MB/s,其簡(jiǎn)單的SPI串行外設(shè)接口可簡(jiǎn)化系統(tǒng)的設(shè)計(jì)。本硬件平臺(tái)使用兩片M25P64級(jí)聯(lián),可存儲(chǔ)128 MB的信息,圖4所示是其存儲(chǔ)電路,它完全可以滿足平臺(tái)信息采集存儲(chǔ)的需求。為方便人員察看,系統(tǒng)中的LCD屏可選用(114.0 mm×64.0 mm)。
  3 W5100的驅(qū)動(dòng)程序設(shè)計(jì)
  W5100的驅(qū)動(dòng)程序主要完成初始化和端口的數(shù)據(jù)通信等功能。
 
  通過(guò)SPI接口來(lái)配置W5100的寄存器一般具有固定的命令格式。根據(jù)SPI協(xié)議,SPI設(shè)備之間只有兩條數(shù)據(jù)線。因此需要定義操作碼(OP_Code)。W5100使用兩種操作碼:讀操作碼和寫操作碼。除了這兩種代碼,它將忽略和不響應(yīng)其它的操作碼。在SPI模式下,W5100只對(duì)“完整的32位數(shù)據(jù)流”進(jìn)行操作。這個(gè)32位的數(shù)據(jù)流包括1個(gè)字節(jié)的操作碼、2個(gè)字節(jié)的地址碼和1個(gè)字節(jié)的數(shù)據(jù)。其操作碼、地址和數(shù)據(jù)字節(jié)的傳輸都是高位(MSB)在前、低位(LSB)在后。也就是說(shuō),SPI數(shù)據(jù)的第一位是操作碼域的MSB,最后一位是數(shù)據(jù)域的LSB。W5100的SPI數(shù)據(jù)格式如表1所列。
  初始化W5100主要是設(shè)置W5100的公共寄存器,包括MR、IMR、RTR、RCR、GAR、SUBR、SHAR、SIPR、RMSR和TMSR。一般在使用W5100之前,都要對(duì)W5100進(jìn)行初始化。
  3.1數(shù)據(jù)通信的建立
  TCP是面向連接的通信方式,它首先必須建立連接.然后才能利用IP地址和端口號(hào)進(jìn)行數(shù)據(jù)通信。TCP有兩種建立連接的方式,一是通過(guò)服務(wù)器模式(被動(dòng)打開)等待連接請(qǐng)求;二是通過(guò)客戶模式(主動(dòng)打開)發(fā)送連接請(qǐng)求給服務(wù)器。本例采用TCP客戶模式。在建立TCP連接之前,一般都需要初始化端口,包括設(shè)置端口號(hào)、設(shè)置W5100為TCP模式和寫入OPEN命令。端口初始化主要配置端口0的相關(guān)寄存器,包括:S0_PORT、S0_MR和S0_CR。
 
  圖5是W5100在TCP客戶模式的處理流程。
 
  3.2中斷處理
  在處理W5100的中斷時(shí),首先應(yīng)訪問(wèn)W5100的中斷寄存器(IR),可用MCU通過(guò)訪問(wèn)IR獲得產(chǎn)生中斷的來(lái)源。任何中斷源都可以被中斷寄存器(IMR)的相應(yīng)位所屏蔽,因此,若要使用某個(gè)中斷源,先要置位該中斷源在IMR中的相應(yīng)位,這樣,當(dāng)IR中對(duì)應(yīng)位置位時(shí),才會(huì)產(chǎn)生中斷。此后當(dāng)中斷產(chǎn)生時(shí),即進(jìn)入中斷處理程序。對(duì)于每個(gè)中斷事件,處理方式可由用戶自己定義。
 
  假如使用的是端口0中斷。可在W5100的初始化程序中先將IMR中的IM_IR 0(端口0中斷屏蔽位)置位。這樣,當(dāng)端口0中斷發(fā)生時(shí)(IM_IR0=I,S0_INT=1),系統(tǒng)將開始讀端口0中斷寄存器(S0_IR),在W5100的端口寄存器中,主要設(shè)置有建立連接(CON)、終止連接(DIS
 
  CON)、數(shù)據(jù)發(fā)送完成(SEND_OK)、接收數(shù)據(jù)(RECV)和超時(shí)(TIMEOUT)等中斷事件。

  3.3  數(shù)據(jù)接收
  當(dāng)端口產(chǎn)生接收中斷時(shí),可調(diào)用接收函數(shù)S_rx_process(SOCKET s)將端口接收到的數(shù)據(jù)緩存到Rx_buffer數(shù)組中,并返回接收的數(shù)據(jù)字節(jié)數(shù)。當(dāng)讀完所有的數(shù)據(jù)后,可將接收存儲(chǔ)器讀指針寄存器(S0_RX_RD)的值加上讀取的數(shù)據(jù)長(zhǎng)度,然后再寫入S0_RX_RD,最后向端口0的命令寄存器(S0_CR)寫入RECV命令,以等待下次接收數(shù)據(jù)。但要注意在計(jì)算實(shí)際物理偏移量rx_offset時(shí),S_RX_SIZE必須保證和在初始化代碼中定義的接收緩存區(qū)的大小一致。
 
  3.4  數(shù)據(jù)發(fā)送
  通過(guò)Socket發(fā)送數(shù)據(jù)時(shí),首先把要發(fā)送的數(shù)據(jù)緩存在Tx_buffer中。此外,在發(fā)送數(shù)據(jù)時(shí),還需先檢查發(fā)送緩存區(qū)的剩余空間的大小,然后控制發(fā)送數(shù)據(jù)的字節(jié)數(shù)。端口發(fā)送緩存區(qū)的大小由發(fā)送存儲(chǔ)器空間寄存器(TMSR)確定。在數(shù)據(jù)發(fā)送處理過(guò)程中,剩余空間的大小將因?qū)懭霐?shù)據(jù)而減少,發(fā)送完成后又自動(dòng)增加。把Tx_buffer的數(shù)據(jù)完全寫入端口的發(fā)送數(shù)據(jù)緩存區(qū)后,可將端口傳輸寫指針寄存器(Sn_TX_WR)中的值加上寫入的數(shù)據(jù)長(zhǎng)度,再寫入Sn_Tx_WR,以指示發(fā)送數(shù)據(jù)的長(zhǎng)度,最后在命令寄存器(Sn_CR)中寫入SEND命令,以啟動(dòng)發(fā)送。
 
  4結(jié)束語(yǔ)
  本文對(duì)控制終端設(shè)計(jì)提出了一些新穎的設(shè)計(jì)思路,利用該思路可實(shí)現(xiàn)現(xiàn)場(chǎng)和網(wǎng)絡(luò)的混合控制。該系統(tǒng)創(chuàng)新處主要包括如下幾點(diǎn):
 
  (1)具有USB\UART等輸入輸出端口,可用于現(xiàn)場(chǎng)測(cè)控;
 
  (2)可通過(guò)以太網(wǎng)接口實(shí)現(xiàn)網(wǎng)絡(luò)傳輸、遠(yuǎn)程網(wǎng)絡(luò)測(cè)控和信息資源共享等功能;
 
  (3)可通過(guò)大容量的存儲(chǔ)器來(lái)進(jìn)行大容量的數(shù)據(jù)采集,并將其存儲(chǔ)在片上處理;
 
  (4)具有LCD顯示單元,能夠?qū)崿F(xiàn)數(shù)據(jù)和狀態(tài)信息的現(xiàn)場(chǎng)顯示,使用戶現(xiàn)場(chǎng)操作更加簡(jiǎn)單。
 
(王鐵流,秦璐璐,李宗方,高嵩 北京工業(yè)大學(xué)電子信息與控制工程學(xué)院)
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲手机视频| 午夜免费在线观看精品视频| 国产精品高清在线观看| 你懂的成人av| 久久精品国产一区二区电影| 亚洲欧美清纯在线制服| 亚洲视频在线视频| 一区二区福利| 亚洲精品视频在线看| 亚洲承认在线| 欧美在线一区二区| 校园春色综合网| 午夜久久久久| 久久精品久久99精品久久| 久久本道综合色狠狠五月| 久久成人精品| 久久国产精品色婷婷| 欧美专区第一页| 久久aⅴ国产紧身牛仔裤| 久久精品夜夜夜夜久久| 亚洲成色777777女色窝| 亚洲大片免费看| 亚洲精品综合| 在线视频你懂得一区| 一本久久综合亚洲鲁鲁| 亚洲午夜精品在线| 亚洲综合好骚| 欧美一区二区啪啪| 久久九九免费视频| 久久人人爽人人| 欧美刺激性大交免费视频| 欧美激情aaaa| 欧美三级电影精品| 国产精品日产欧美久久久久| 国产无一区二区| 亚洲大胆人体在线| 夜夜嗨网站十八久久| 亚洲一区欧美二区| 欧美一区二区三区电影在线观看| 亚洲第一在线| 一区二区三区国产精品| 亚洲欧美亚洲| 裸体素人女欧美日韩| 欧美成人精品一区| 欧美系列电影免费观看| 国产欧美日韩一区二区三区在线 | 欧美电影在线播放| 欧美三级乱码| 国产一区二区三区免费不卡| 亚洲高清在线精品| 亚洲午夜国产成人av电影男同| 香蕉久久夜色精品国产| 亚洲欧洲综合| 午夜精品免费在线| 男女激情视频一区| 国产精品免费福利| 亚洲高清自拍| 亚洲免费视频在线观看| 亚洲精品之草原avav久久| 性8sex亚洲区入口| 欧美精品v日韩精品v韩国精品v| 亚洲精品欧美在线| 亚洲一区免费| 噜噜噜91成人网| 国产精品家教| 亚洲电影中文字幕| 午夜精品久久久99热福利| 亚洲精品美女在线| 欧美一区在线直播| 欧美人成在线视频| 国产在线拍偷自揄拍精品| 亚洲乱码视频| 亚洲春色另类小说| 午夜精品理论片| 欧美精品在线免费| 国产一区二区三区在线观看免费| 亚洲精品一区二区三区樱花| 久久精彩视频| 小黄鸭精品aⅴ导航网站入口| 欧美成人高清| 国产视频一区在线观看| 一本色道久久综合精品竹菊| 亚洲国产成人久久| 久久gogo国模啪啪人体图| 欧美日韩精品一区二区三区四区| 好吊日精品视频| 亚洲女人天堂av| 亚洲午夜视频在线| 欧美激情综合色| 一区二区三区在线高清| 亚洲欧美制服另类日韩| 亚洲视频久久| 欧美激情中文字幕在线| 伊人久久亚洲美女图片| 性欧美大战久久久久久久久| 亚洲欧美日韩一区二区| 欧美极品一区| 1000部国产精品成人观看| 午夜精品福利视频| 亚洲欧美国产精品专区久久| 欧美日韩色综合| 91久久久久久久久| 91久久国产综合久久| 久久亚洲风情| 国模私拍一区二区三区| 亚洲免费中文字幕| 亚洲欧美日本另类| 国产精品www| 亚洲欧洲精品一区二区三区波多野1战4| 激情亚洲一区二区三区四区| 国产精品一卡| 亚洲精品一区二区三区av| 亚洲激情综合| 久久亚洲欧美| 国产专区精品视频| 香蕉久久国产| 久久成人精品| 国产日韩欧美在线| 亚洲欧美国产va在线影院| 亚洲综合日韩| 国产精品久久福利| 一区二区三区四区国产| 一区二区三区四区五区在线 | 欧美精品一区三区| 亚洲精品久久久久中文字幕欢迎你 | 欧美日韩国产精品成人| 亚洲欧洲视频| 亚洲午夜国产一区99re久久| 亚洲免费观看| 国产精品99久久久久久久久| 欧美日韩精品二区| 一区二区三区精品在线| 亚洲永久免费精品| 国产精品一区视频| 午夜一区二区三区不卡视频| 久久国产精品黑丝| 狠狠色综合网| 亚洲第一页自拍| 欧美激情1区| 日韩一区二区免费高清| 亚洲欧美国产毛片在线| 国产女主播视频一区二区| 国产精品av久久久久久麻豆网| 国产精品日韩在线观看| 亚洲欧洲另类国产综合| 在线天堂一区av电影| 欧美色道久久88综合亚洲精品| 在线免费一区三区| 日韩视频一区二区三区| 欧美日韩在线免费视频| 亚洲图片你懂的| 久久大逼视频| 国产日韩在线看| 亚洲国产另类精品专区| 欧美精品首页| 亚洲欧美在线观看| 久久影院午夜论| 亚洲日本在线观看| 午夜一区不卡| 在线观看av不卡| 亚洲国产一区二区三区在线播| 欧美日韩免费一区| 欧美一区91| 欧美日韩国产色综合一二三四 | 999亚洲国产精| 欧美在线观看日本一区| 在线看日韩av| 亚洲欧美日韩在线播放| 在线成人激情黄色| 亚洲一区二区三区精品动漫| 国产精品美女999| 麻豆成人精品| 99精品视频免费观看视频| 欧美一级久久久久久久大片| 1000部精品久久久久久久久| 亚洲欧美日本伦理| 欧美日韩专区| 久久精品国亚洲| 欧美日韩在线一区| 亚洲电影自拍| 国产精品福利网| 亚洲一级电影| 你懂的国产精品| 亚洲女同精品视频| 欧美精品激情在线| 欧美中在线观看| 国产精品夫妻自拍| 亚洲三级视频在线观看| 国产精品亚洲综合| 99re8这里有精品热视频免费| 国产女人18毛片水18精品| 夜夜嗨av一区二区三区网页| 黄色影院成人| 欧美一区二区三区精品| 亚洲欧洲精品天堂一级| 久久久国产91| 制服诱惑一区二区| 欧美日韩高清在线一区| 亚洲第一黄色网| 国产精品一区二区三区四区|