當前位置:上海香川電子衡器有限公司>>技術文章>>電腦以太網技術在電子衡器中的應用
網絡技術發展到現在,以太網和TCP/IP協議已經成為使用zui廣泛的網絡和協議,以太網出現至今已經有30多年了,由于它的性能價格比高,容易普及,目前企事業用戶的90%以上都采用以太網接入,在我國的大部分局域網也都采用以太網技術,以太網已成為企事業單位的主導接入方式,采用以太網作為企事業的主導接入方式的主要原因是已有的巨大的網絡基礎和長期的經驗知識。但是電子衡器通訊發展到現在,大都采用一些局部系統的總線進行通訊,如RS232、RS485,而沒有提供以太口通過TCP/IP協議進行以太網通訊。在當今的網絡時代,電子衡器沒有以太口,其價值將大打折扣,為此,我們借助以太網控制芯片RTL8019AS,并將TCP/IP協議嵌入到電子衡器中實現了電子衡器與上位機的以太網通訊。
1、TCP/IP協議:TCP/IP協議即傳輸控制協議/網際協議(Transmission Control Protocol/Internet Protocol)是世界標準的協議組,它是為跨越局域網和廣域網環境的大規模互聯網絡而設計的。從體系結構來看,TCP/IP基于四層參考模型,它是OSI七層模型的簡化。如圖1所示。TCP/IP模型的每一層都對應于標準組織 (ISO)提議的七層“開放系統互聯(OSI)”參考模型的一層或多層。
下面結合本系統就四層結構做一個簡單的介紹。
(1)鏈路層
本層是zui底層協議,控制同一物理網絡上的不同機器間的數據傳輸。在本電子衡器系統中由單片機控制以太網芯片RTL8019AS實現。
(2)網絡層
本層實現發送數據到相鄰網絡上的任一主機,該層對應于IP層協議及附屬協議。網絡層用ICMP協議來實現與其他主機或路由器交換錯誤報文和其他信息,并用ARP協議實現從IP地址到數據鏈路層的映射。
(3)傳輸層
傳輸層為兩臺主機上的應用程序提供端到端的通信。傳輸層要定義明確的端口,通常有兩個不同的傳輸層協議:傳輸控制協議TCP和用戶數據報協議UDP。本電子衡器系統采用TCP。
(4)應用層
應用層要有一個比較清晰的會話過程,如通常所說的Http、Ftp、net等。在本系統中,主要是為傳輸層提供應用數據。
TCP/IP是一個協議族,即一組不同層次上的多個協議的組合,主要有ARP協議,IP協議,ICMP協議,TCP協議,它通常具有四層,每一層負責不同的功能,由于協議比較復雜,而單片機的程序空間有限,運行速度相對PC機較慢,因此要把TCP/IP協議嵌入到單片機中,必須把協議*行簡化,本系統采用uIP TCP/IP協議棧的0.6版。
2、帶以太網接口的電子衡器電路框圖
硬件結構如圖2所示,稱重傳感器的重量信號經放大,A/D轉換送入單片機,單片機把輸入信號處理后存儲到特定存儲單元,存儲單元的數據可以顯示,打印,也可以通過以太網上傳到后臺上位機,上位機的數據也可以通過以太網下載到電子衡器的存儲單元;以太網控制芯片采用RealTek的RTL8019AS;LT—2006是網絡隔離變壓器,在RTL8019的前端對網絡信號進行脈沖波形變換。
3、帶以太網接口的電子衡器工作原理
3.1 以太網控制芯片RTL8019AS
以太網控制芯片RTL8019AS是10M ISA總線的以太網控制芯片,含16K字節的RAM,并且提供8位和16位兩種接口單片機對以太網控制芯片的控制就是對片內寄存器進行讀寫,熟悉片內寄存器的特點是很重要的。RT8019AS與單片機兼容8位和16位操作,若電子衡器的CPU 是51系列單片機,則選擇8位方式連接。輸入輸出地址32個,地址偏移量為00H-1FH,其中00H-0FH共16個地址,為寄存器地址;10H-17H共8個地址,為DMA地址(8位操作模式時只要選其中一個);18H-1FH共8個地址,為復位端口(8位操作模式只要選其中一個即可)。寄存器共有4頁,每頁16個,頁碼由CR寄存器(地址偏移量為00H)的PS1和PS0位決定,系統常用到的部分寄存器(括號中是頁碼—偏移地址)如下:
CR(0+00H):命令寄存器,第7、6位用來選擇寄存器頁,共四頁;第5、4、3位代表要執行的功能,如001為讀RTL8019AS內存,010為寫RTL8019AS內存,011為發送TTL8019AS數據包,1**為完成或結束DMA的讀寫操作;第2位寫入1時發送數據包,發完自動清零;第1、0位為10時啟動命令,為01時停止命令。
Pstart(0—01H):接收緩沖區的起始頁的地址;
Pstop(0—02H):接收緩沖區的結束頁地址;
BNRY (0—03H):指向zui后一個已經讀取的頁;
RCR(0—0CH):接收配置寄存器,本系統設置為接收緩沖區,僅接收是自己地址的數據包和多點播送地址包,小于64字節的包丟棄,校驗錯的數據包不接收;
TCR(0—0dH):發送配置寄存器,啟用后自動生成CRC校驗;
DCR(0—0eH):數據配置寄存器,本系統設置為使用FIFO緩存,普通模式,8位數據傳輸模式,字節順序為高字節在前,低字節在后;
IMR(0—0fh): 中斷屏蔽寄存器,由于本系統未用中斷,設置為00H,屏蔽所有的中斷;
TPSR(1—04H):發送頁的起始地址;
CURR(1—07H) :當前的接收結束頁地址;
電子衡器系統把以太網控制芯片設置為跳線模式,而不是即插即用模式,因為單片機資源有限,要盡量減少操作。發送數據時,先將待發送的數據包存入發送緩沖區,給出發送緩沖區首地址和數據包長度(寫入TPSR、TBCR0和TBCR1),啟動發送命令即可實現以太網控制芯片發送功能;接收數據時,單片機通過讀取有關狀態寄存器(CURR和BNRY)判斷是否有數據接收在以太網控制芯片的接收緩沖區,如果有,依次讀取數據到單片機的數據緩沖區,當以太網控制芯片接收緩沖區溢出時清ISR。
3.2 uIP TCP/IP棧
uIP TCP/IP棧是使用于低至8位或16位微處理器的嵌入式系統的一個極輕型的TCP/IP協議棧,它實現了TCP/IP協議組的四個基本協議:ARP 協議、IP 協議、 ICMP 協議 和 TCP 協議。uIP TCP/IP棧由瑞典單片機專家Adam Dunkels編寫,是一個免費的TCP/IP棧,還有,它使用C語言編程,可以方便地應用到電子衡器中。uIP的實現目標是保持代碼大小和儲存器使用量zui小。現時,uIP代碼的大小和RAM的需求比其它的TCP/IP棧要小,但是uIP與其它TCP/IP棧不同,它的重發工作需要應用程序的幫助。其它TCP/IP棧RAM中存儲著傳輸數據,直到數據被確認已成功發送才釋放RAM空間。如果數據需要重傳,堆棧在沒有通知應用程序下監視著重傳工作,在等待確認的過程期間,數據必須緩存在RAM里。uIP利用應用程序可以快速重新生成數據的特點,在等待數據確認的過程中,RAM中不必緩存數據,而是等確認不成功信號到達時由應用程序重新快速生成數據。例如,一個HTTP服務器服務的大部分是ROM里的靜態和半靜態頁,不需要在RAM里緩存靜態內容,所以,如果一個包丟失了,HTTP服務器可以容易地從ROM里重生數據,數據簡單地從原先的位置讀回來。
3.3 電子衡器的通訊控制
把uIP TCP/IP協議棧嵌入到電子衡器中,單片機復位后讀取本機IP地址和物理地址以初始化網絡。通訊過程中,當有數據從RJ45傳來,單片機通過驅動程序接收數據到緩沖區,然后對數據包進行分析,如果是ARP(物理地址解析)數據包,則程序轉入ARP處理程序。如果是IP數據包且符合TCP協議,端口正確,則認為數據包正確,數據包解包后,將數據部分存儲到存儲單元。當系統有數據要向遠端IP發送時,系統將向遠端IP 和遠端端口發起主動TCP 連接,如果連接成功,將要傳送的數據封裝成以太包,存儲到數據緩沖區,然后通過驅動程序把緩沖區的數據發送出去。如果主動或被動建立起連接后持續若干時間系統沒有收到任何數據包,系統將主動中斷此次連接。
4、結束語
把TCP/IP協議嵌入到電子衡器中,可實現電子衡器和上位機的以太網通訊,具有傳輸速度快、使用方便等優點,為電子衡器與上位機通訊提供了一種新的方案,有著廣泛的應用前景。
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業自行提供,信息內容的真實性、準確性和合法性由相關企業負責,化工儀器網對此不承擔任何保證責任。
溫馨提示:為規避購買風險,建議您在購買產品前務必確認供應商資質及產品質量。