彎管流量計(jì)串行總線主機(jī)控制器和設(shè)備控制器選用ISP1161A1。ISP1161A1是一個(gè)單片通用串行總線(USB)主機(jī)控制器(HC)和設(shè)備控制器(DC)。彎管流量計(jì)的主機(jī)控制器部分符合通用串行總線2.0規(guī)范,支持全速(12Mbit/s)和低速(1.5Mbit/s)的數(shù)據(jù)傳輸。ISP1161A1的設(shè)備控制器部分也符合通用串行總線2.0規(guī)范,支持全速(12Mbit/s)的數(shù)據(jù)傳輸。
彎管流量計(jì)ISP1161A1十分適用于僅需要一個(gè)USB主機(jī)、一個(gè)USB器件或一個(gè)可配置USB主機(jī)和USB器件相結(jié)合的嵌入式系統(tǒng)和便攜式設(shè)備。這里用到了ZLG/FS文件管理系統(tǒng),它是面向嵌入式系統(tǒng)的小型文件系統(tǒng),兼容FAT16,F(xiàn)AT32等文件系統(tǒng),支持多任務(wù)系統(tǒng),它包括在μC/OS-II下使用的接口代碼,方便移植。
彎管流量計(jì)網(wǎng)絡(luò)通信部分用到了ZLG/IP 是面向嵌入式系統(tǒng)開發(fā)的小型 TCP/IP 協(xié)議棧。 ZLG/IP 源碼包提供實(shí)現(xiàn) Internet 網(wǎng)絡(luò)上 IP 接點(diǎn)的功能,是個(gè)高性能的嵌入式TCP/IP 協(xié)議棧軟件 。 它使用 μC/OS-II 實(shí)時(shí)操作系統(tǒng)的信號(hào)機(jī)制來實(shí)現(xiàn)一個(gè)多任務(wù)并行可重入的協(xié)議棧,支持多種CPU。
彎管流量計(jì)傳輸層有兩個(gè)協(xié)議傳輸數(shù)據(jù):
彎管流量計(jì)傳輸控制協(xié)議TCP 和用戶數(shù)據(jù)報(bào)協(xié)議UDP。 TCP 協(xié)議是面向連接的一個(gè)協(xié)議 ,可靠性高,費(fèi)用也高;UDP是提供zui少服務(wù)和費(fèi)用的傳輸層協(xié)議。TCP/IP 中 ,TCP 是基于 IP 數(shù)據(jù)幀的傳輸 ,能夠提供可靠的數(shù)據(jù)傳輸服務(wù)。圖6 所示 TCP/IP 協(xié)議下的網(wǎng)絡(luò)通信軟件流程。
針對(duì)于服務(wù)器任務(wù),首先建立一個(gè)接收數(shù)據(jù)緩沖區(qū),設(shè)定好服務(wù)器端SOCKET 的 IP 地址和端口 。 然后建立一個(gè)基于TCP 通信的 SOCKET, 并綁定服務(wù)器端的 IP 地址和監(jiān)聽端口,并檢查監(jiān)聽是否正確。彎管流量計(jì)等待接受客戶端的連接請(qǐng)求并判斷連接是否成功。 若成功連接,則根據(jù)客戶端請(qǐng)求的不同指令,發(fā)送應(yīng)答,發(fā)送相應(yīng)數(shù)據(jù)。數(shù)據(jù)傳送完畢后,清空緩沖區(qū)并斷開連接。