• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      CH395與SPI接口的以太網(wǎng)模塊設(shè)計(jì)※

      2015-11-23 03:26:05秦磊孫曼王小亮
      關(guān)鍵詞:以太網(wǎng)單片機(jī)芯片

      秦磊,孫曼,王小亮

      (1.四川大學(xué)電氣信息學(xué)院,成都 610065;2四川大學(xué)電子信息學(xué)院)

      CH395與SPI接口的以太網(wǎng)模塊設(shè)計(jì)※

      秦磊1,孫曼1,王小亮2

      (1.四川大學(xué)電氣信息學(xué)院,成都 610065;2四川大學(xué)電子信息學(xué)院)

      伴隨著物聯(lián)網(wǎng)的高速發(fā)展,以太網(wǎng)已經(jīng)成為很多嵌入式系統(tǒng)中的一個重要模塊。針對很多無自帶以太網(wǎng)模塊的低成本單片機(jī)控制器,本設(shè)計(jì)采用CH395芯片連接dsPIC33系列單片機(jī)的SPI接口實(shí)現(xiàn)以太網(wǎng)模塊,該方案開發(fā)難度小,占用單片機(jī)硬件資源少,是一種可靠的設(shè)計(jì)方案。

      嵌入式系統(tǒng);CH395;以太網(wǎng)

      引 言

      在嵌入式應(yīng)用中,單片機(jī)與外部通信非常頻繁,通信方式種類繁多,如SPI、I2C總線、RS-232、USB、以太網(wǎng)等。以太網(wǎng)傳輸速度快、傳輸距離遠(yuǎn)、通過連接網(wǎng)絡(luò)設(shè)備可以輕易進(jìn)行組網(wǎng)管理,是進(jìn)行遠(yuǎn)程控制[1-2]、大規(guī)模數(shù)據(jù)采集、眾多設(shè)備節(jié)點(diǎn)管理[3-4]非常有效的一種方式。很多單片機(jī)并無以太網(wǎng)協(xié)議棧硬件支持,在為這些單片機(jī)開發(fā)網(wǎng)絡(luò)模塊時,一般是通過單片機(jī)已有的通信接口外接以太網(wǎng)芯片來實(shí)現(xiàn)。本設(shè)計(jì)通過單片機(jī)中常見的SPI口外接以太網(wǎng)模塊,實(shí)現(xiàn)以太網(wǎng)通信。

      1 以太網(wǎng)芯片CH395

      本設(shè)計(jì)采用Microchip公司的dsPIC33EP256GM710(以下簡稱dsPIC33E)控制器,通過SPI口外接以太網(wǎng)芯片CH395來實(shí)現(xiàn)以太網(wǎng)功能。dsPIC33EP256GM710是16位數(shù)字信號處理器,是一款低功耗、高性能、低成本的處理器。它有3個SPI硬件模塊,其中SPI1是一個高速的SPI模塊,在本設(shè)計(jì)中被采用。

      CH395芯片是沁恒公司的一款以太網(wǎng)協(xié)議棧[5]管理芯片,被單片機(jī)系統(tǒng)進(jìn)行以太網(wǎng)通信。CH395芯片自帶10/100M以太網(wǎng)介質(zhì)傳輸層(MAC)和物理層(PHY),完全兼容IEEE802.310/100M協(xié)議,內(nèi)置了PPPOE、IP、DHCP、ARP、ICMP、IGMP、UDP、TCP等以太網(wǎng)協(xié)議棧固件。

      單片機(jī)系統(tǒng)可以方便地通過CH395芯片進(jìn)行網(wǎng)絡(luò)通信。CH395支持3種通信接口:8位并口、SPI接口和異步串口。單片機(jī)/DSP/MCU/MPU等控制器可以通過上述任何一種通信接口控制CH395芯片進(jìn)行以太網(wǎng)通信[6]。CH395與控制器的接口圖1所示。

      2 CH395與處理器的硬件連接

      SPI是串行外設(shè)接口,是一種高速、全雙工、同步的通信總線,在引腳上只占用4根線,節(jié)約了芯片的引腳。SPI同步串行接口信號線包括:SPI片選輸入引腳SCS、串行時鐘輸入引腳SCK、串行數(shù)據(jù)輸入引腳SDI、串行數(shù)據(jù)輸出引腳SDO。CH395芯片的SCS引腳由單片機(jī)的SPI片選輸出引腳或者普通輸出引腳驅(qū)動,SCK引腳由單片機(jī)的SPI時鐘輸出引腳SCK驅(qū)動,SDI引腳由單片機(jī)的SPI數(shù)據(jù)輸出引腳SDO或MOSI驅(qū)動,SDO引腳則連接到單片機(jī)的SPI數(shù)據(jù)輸入引腳SDI或MISO。

      圖1 H395與控制器的接口示意圖

      CH395的SPI接口也支持單片機(jī)用普通I/O引腳通過軟件來模擬SPI接口進(jìn)行通信。CH395總是從SPI時鐘SCK的上升沿輸入數(shù)據(jù),并在允許輸出時從SCK的下降沿輸出數(shù)據(jù)。

      設(shè)計(jì)采用的是dsPIC33系列處理器中的高速專用SPI1口,它作為SPI通信的主控器件,與CH395的硬件接口如圖2所示,主控器件的SDO引腳連接從器件的SDI引腳,主控器件的SDI引腳連接從器件的SDO引腳。CH395的輸出INT#引腳連接處理器的一個通用I/O引腳,用來處理來自CH395的中斷。

      3 單片機(jī)前端程序設(shè)計(jì)[7]

      圖2 CH395與單片機(jī)的硬件接口圖

      CH395芯片的操作都是在主控SPI的CS片選信號有效的情況下進(jìn)行的。單片機(jī)與CH395進(jìn)行通信交互是通過操作碼與數(shù)據(jù)相結(jié)合的方式進(jìn)行的,首先單片機(jī)通過SPI的SDO引腳按位移出一個字節(jié)的操作碼后,再輸出若干字節(jié)的數(shù)據(jù),在輸出數(shù)據(jù)的同時通過SDI引腳的按位移入接收數(shù)據(jù)。CH395讀寫流程操作如圖3所示。

      圖3 CH395的操作流程

      要完成SPI接口向CH395傳送數(shù)據(jù),先要對dsPIC33E的SPI端口進(jìn)行配置,本次設(shè)計(jì)中采用的是SPI1模塊,先設(shè)置SPI1所使用的所有引腳為數(shù)字輸入/輸出功能,設(shè)置SCS、SDI、SCK引腳為輸出,SDO為輸入,因?yàn)镃H395需要一個INT#用于中斷處理連接控制器,所以采用一個通用I/O引腳作為INT#中斷輸入引腳。當(dāng)SPI引腳映射好后,即可配置SPI口的功能參數(shù),方法如下:

      3.1 驅(qū)動程序的層次結(jié)構(gòu)

      要實(shí)現(xiàn)CH395的Socket功能,需要繁多的功能函數(shù)來完成,從程序開發(fā)者的角度來看,CH395的網(wǎng)絡(luò)Socket程序可分為4個層次:應(yīng)用層、中間層、數(shù)據(jù)命令層、SPI層。

      (1)應(yīng)用層

      對中間層提供的關(guān)于網(wǎng)絡(luò)參數(shù)設(shè)置操作進(jìn)行封裝,向網(wǎng)絡(luò)透明地傳送數(shù)據(jù),用于設(shè)置網(wǎng)絡(luò)協(xié)議,創(chuàng)建Socket,連接目標(biāo)進(jìn)程,處理網(wǎng)絡(luò)收發(fā)中斷等。該層主要由以下函數(shù)來實(shí)現(xiàn):

      (2)中間層

      該層使用命令數(shù)據(jù)層的接口,實(shí)現(xiàn)網(wǎng)絡(luò)的具體操作,向上層提供網(wǎng)絡(luò)參數(shù)設(shè)置功能。應(yīng)用層的三個主要函數(shù)通過調(diào)用下列各函數(shù)來實(shí)現(xiàn):

      (3)命令數(shù)據(jù)層

      該層通過調(diào)用SPI硬件層接口,向CH395發(fā)送命令與數(shù)據(jù),同時接收CH395返回的數(shù)據(jù)。主要函數(shù)如下:

      (4)SPl層

      它是整個程序框架的最底層,向上層提供讀寫時序控制,實(shí)現(xiàn)SPI讀取數(shù)據(jù),主要由以下函數(shù)實(shí)現(xiàn):

      CH395驅(qū)動程序的層次結(jié)構(gòu)圖略——編者注。

      3.2 SPl程序的實(shí)現(xiàn)

      要實(shí)現(xiàn)CH395的網(wǎng)絡(luò)功能,單片機(jī)dsPIC33E的SPI數(shù)據(jù)傳送是最為關(guān)鍵的,SPI數(shù)據(jù)傳送接口由以下3個函數(shù)來實(shí)現(xiàn):

      設(shè)計(jì)中,dsPIC33E單片機(jī)作為TCP客戶端來使用,其控制程序在單片機(jī)的TCP客戶端應(yīng)用中,應(yīng)用程序直接使用CH395提供的Socket與網(wǎng)絡(luò)設(shè)備進(jìn)行網(wǎng)絡(luò)通信。在連接網(wǎng)絡(luò)之前,其與PC系統(tǒng)上的過程一致,需要初始化網(wǎng)卡設(shè)備(CH395),配置相應(yīng)的網(wǎng)絡(luò)參數(shù)(如本地IP、網(wǎng)關(guān)、子網(wǎng)掩碼等);在應(yīng)用程序啟動Socket進(jìn)程之前,需要配置Socket的目的IP、端口、源端口、協(xié)議類型。配置好以上參數(shù)后,應(yīng)用程序可以創(chuàng)建Socket連接服務(wù)器進(jìn)程。CH395的網(wǎng)絡(luò)控制處理流程如圖4所示。

      4 服務(wù)器端程序?qū)崿F(xiàn)

      在設(shè)計(jì)中,用PC機(jī)作為服務(wù)器端。PC的服務(wù)器程序采用MFC來設(shè)計(jì),PC與單片機(jī)之間通過Socket進(jìn)行網(wǎng)絡(luò)連接。

      在PC端上運(yùn)行TCP服務(wù)器程序,使用Socket之前應(yīng)該在應(yīng)用程序的InitInstance()函數(shù)中通過WSAStartup()API函數(shù)加載Windows Sockets套接字。在程序界面上通過一個啟動按鍵來啟動服務(wù)器的監(jiān)聽程序并創(chuàng)建一個消息線程向MFC的消息路由傳遞用戶自定義消息,并在MFC的消息宏中增加用戶自定義消息處理函數(shù)ON _M(jìn)ESSAGE(WM_RECVDATA,&CH395Dlg::OnRecv-Data)。接收線程函數(shù)如下:

      圖5 CH395網(wǎng)絡(luò)控制流程圖

      5 系統(tǒng)測試與總結(jié)

      通過網(wǎng)線把單片機(jī)電路板與PC機(jī)相連,在PC機(jī)上運(yùn)行TCP協(xié)議的服務(wù)器端程序,在單片機(jī)程序中,設(shè)置CH395芯片本地IP地址為192.168.0.5,本地端口號為6000,目的IP地址為192.168.0.10,目的端口號為5000。程序接收來自服務(wù)器端的信息字符串,并把字符串原樣返回PC端。程序運(yùn)行狀態(tài)如圖5所示。通過測試表明CH395模塊成功連接上PC機(jī)。

      圖5 系統(tǒng)測試圖

      本次設(shè)計(jì)利用Microchip dsPIC33系列處理器與CH395模塊芯片,實(shí)現(xiàn)了基于單片機(jī)系統(tǒng)的SPI口的以太網(wǎng)模塊設(shè)計(jì)。該方案實(shí)現(xiàn)簡單、成本低、實(shí)用性強(qiáng),特別是在控制器缺少以太網(wǎng)協(xié)議棧硬件支持的情況下,可以節(jié)省開發(fā)周期,提高開發(fā)效率。

      編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www. mesnet.com.cn。

      [1]楊瀚程,王芳,張佳杰.基于FPGA的嵌入式三臺以太網(wǎng)設(shè)計(jì)[J].計(jì)算機(jī)工程,2007,33(5):139-141.

      [2]王飛石,廣田.基于ARM和DM9000的網(wǎng)卡接口設(shè)計(jì)與實(shí)現(xiàn)[J].ARM開發(fā)與應(yīng)用,2008,24(5):123-125.

      [3]孫曉安.基于以太網(wǎng)的遠(yuǎn)程監(jiān)測系統(tǒng)研究與設(shè)計(jì)[D].上海:華東理工大學(xué),2011.

      [4]王天杰.基于以太網(wǎng)的液位控制系統(tǒng)[D].青島:青島大學(xué),2008.

      [5]以太網(wǎng)協(xié)議棧芯片CH395[EB/OL].(2014-12-25)[2015 -01].http://wch.cn/.

      [6]Stevens W.TCP/IP詳解卷1協(xié)議[M].北京:機(jī)械工業(yè)出版社,2014.

      [7]鐘漢如,杜青林.PIC18F66J60以太網(wǎng)模塊的注塑機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].機(jī)械與電子,2009(10):25-27.

      秦磊(碩士研究生),研究方向?yàn)殡姽だ碚撆c新技術(shù)。

      Ethernet Module Design Based on CH395 and SPl lnterface※

      Qin Lei1,Sun Man1,Wang Xiaoliang2
      (1.School of Electrical Engineering and Information,Sichuan University,Chengdu 610065,China;
      2.College of Electronic Information,Sichuan University)

      With the rapid development of the Internet of things(IoT),the Ethernet has become an important module of the embedded system.For lots of the cheap microcontrollers without Ethernet module,this paper uses the CH395chip to connect the SPI interface of the dsPIC33microcontroller to accomplish the function of the Ethernet.This design is easy,and the occupation of resources is very few,so it is a reliable design.

      embedded system;CH395;Ethernet

      TP368.2

      A

      ??楊迪娜

      2015-01-30)

      猜你喜歡
      以太網(wǎng)單片機(jī)芯片
      基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:28
      基于單片機(jī)的層次漸變暖燈的研究
      電子制作(2019年15期)2019-08-27 01:12:10
      基于單片機(jī)的便捷式LCF測量儀
      電子制作(2019年9期)2019-05-30 09:42:02
      談實(shí)時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      芯片測試
      多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      Microchip推出兩個全新PIC單片機(jī)系列
      辽宁省| 洪泽县| 长沙县| 青铜峡市| 富锦市| 铜山县| 娄烦县| 通渭县| 分宜县| 浪卡子县| 鲜城| 景泰县| 仪陇县| 淅川县| 宁波市| 娄底市| 九寨沟县| 县级市| 陈巴尔虎旗| 和龙市| 咸宁市| 永德县| 新闻| 湖南省| 花莲市| 会昌县| 轮台县| 清镇市| 吴桥县| 武威市| 莆田市| 洛浦县| 临武县| 托克托县| 左贡县| 吕梁市| 遂平县| 忻州市| 上思县| 孝昌县| 靖远县|