<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種大容量移動(dòng)存儲的網(wǎng)絡(luò )訪(fǎng)問(wèn)方案設計

一種大容量移動(dòng)存儲的網(wǎng)絡(luò )訪(fǎng)問(wèn)方案設計

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

本文引用地址:http://dyxdggzs.com/article/201609/303698.htm

在工業(yè)測井系統中,終端的數據存儲、數據轉移一直是工作的重要環(huán)節。傳統工業(yè)測井系統的數據存儲采用不掉電靜態(tài)RAM、EEPROM存儲模塊,數據轉移通常是計算機通過(guò)RS232串行口讀取。

隨著(zhù)技術(shù)的發(fā)展,計算機的介質(zhì)普遍采用U盤(pán)或移動(dòng)硬盤(pán)。U盤(pán)相對于工業(yè)測井系統終端原來(lái)的存儲模塊來(lái)說(shuō)是海量存儲,所有存儲數據無(wú)需進(jìn)行壓縮處理,可以在文件級與計算機兼容。與此同時(shí),嵌入式Internet技術(shù)的發(fā)展又使得互聯(lián)網(wǎng)技術(shù)能夠輕松地嵌入到工業(yè)測井系統中,通過(guò)以太網(wǎng)控制芯片將測井系統終端接入互聯(lián)網(wǎng)后,編制測井系統終端控制器和網(wǎng)絡(luò )服務(wù)器之間的通信協(xié)議,便可以輕松實(shí)現通過(guò)數據中心網(wǎng)站來(lái)控制測井終端的數據采集,而進(jìn)行數據訪(fǎng)問(wèn),也無(wú)需反復插拔接口存儲器,僅通過(guò)已接入互聯(lián)網(wǎng)的PC機或其他具有上網(wǎng)功能的移動(dòng)終端即可實(shí)現遠程控制海量測井數據的采集、存儲及訪(fǎng)問(wèn)。綜上所述,具有接口的存儲設備能實(shí)現互聯(lián)網(wǎng)遠程控制、訪(fǎng)問(wèn)USB存儲設備的設計方案,對于希望獲取海量測井數據的用戶(hù)來(lái)說(shuō)意義重大。

1 系統設計

系統框圖如圖1所示,主要是以STC15F2K60S2單片機為核心。單片機收集測井系統中各路傳感器采集到的數據信息,通過(guò)USB接口芯片存儲在大容量U盤(pán)中,另外使用以太網(wǎng)控制芯片將系統接入互聯(lián)網(wǎng),通過(guò)PC機或其他具有上網(wǎng)功能的移動(dòng)終端遠程控制并且訪(fǎng)問(wèn)U盤(pán)中的測井數據。

一種大容量移動(dòng)存儲的網(wǎng)絡(luò )訪(fǎng)問(wèn)方案設計

1.1 USB接口芯片CH376模塊設計

1.1.1 CH376硬件電路搭建

USB接口芯片CH376模塊硬件電路設計如圖2所示,單片機與CH376采用的是硬件總線(xiàn)8位并口連接方式。CH376通過(guò)8位被動(dòng)并行接口的D0~D7、RD#、WR#、PCS#、A0直接連接到STC15F2K60S2單片機的系統總線(xiàn)上,其中D0~D7連接STC15F2K60S2的數據總線(xiàn)P0.0~P0.7引腳,RD#、WR#引腳與STC15F2K60S2的對應引腳相連,INT#引腳連到STC15F2K60S2的外部中斷INT0上(采用中斷方式處理USB數據傳輸),PCS#連接STC15F2K60S2的P2.6引腳來(lái)控制CH376的使能,A0連接到STC15F2K60S2的P2.0引腳,因此,CH376命令寄存器的地址可選為BDF1H,數據寄存器的地址可選為BCF0H。

一種大容量移動(dòng)存儲的網(wǎng)絡(luò )訪(fǎng)問(wèn)方案設計

1.1.2 CH376軟件設計

系統需要將各路傳感器收集到的數據信息存入大容量的U盤(pán)中,CH376能讀寫(xiě)大容量U盤(pán),故可以在U盤(pán)中創(chuàng )建文件,將采集到的數據寫(xiě)入該文件中,創(chuàng )建一個(gè)EXCEL文件用于存放采集到的數據。

軟件操作的具體步驟是:?jiǎn)纹瑱C首先發(fā)送CMD_SET_USB_MODE命令設置CH376工作在主機模式下,然后調用沁恒公司提供的FILE_SYS文件系統庫中的CH376DiskConnect函數等待U盤(pán)連接,U盤(pán)連接成功后,在進(jìn)行操作之前必須由單片機發(fā)送CMD_DISK_MOUNT進(jìn)行初始化,并檢測磁盤(pán)是否準備就緒,確認磁盤(pán)準備就緒后,調用文件系統庫函數CH376 File Open打開(kāi)磁盤(pán)中已經(jīng)創(chuàng )建好的文件。當文件創(chuàng )建成功后,為方便向文件中添加數據,還需要將該文件移動(dòng)到U盤(pán)中所有已有文件的末尾??烧{用文件系統庫函數CH376ByteLocate設定參數為0xFFFF FFFF,即可移動(dòng)該文件至所有文件之后,以上一切準備就緒后就可以向文件中寫(xiě)入數據了,最后要保存文件并更新文件長(cháng)度,涉及到的文件庫函數是CH376 GetFileSize。在U盤(pán)中創(chuàng )建EXCEL文件的軟件流程圖如圖3所示。

一種大容量移動(dòng)存儲的網(wǎng)絡(luò )訪(fǎng)問(wèn)方案設計

1.2 以太網(wǎng)控制芯片模塊設計

1.2.1 硬件電路搭建

以太網(wǎng)控制芯片ENC28J60模塊硬件電路如圖4所示。單片機與ENC28J60采用SPI總線(xiàn)方式連接,由于STC15F2K60S2內部集成了硬件SPI,為了提高網(wǎng)絡(luò )通信速率,采用硬件SPI方式驅動(dòng)ENC28J60。STC15F2K60S2內部與SPI總線(xiàn)驅動(dòng)相關(guān)的寄存器有SPI控制寄存器SPCTL、SPI狀態(tài)寄存器SPSTAT、SPI數據寄存器SPDAT、SPI功能切換寄存器AUXR1。配置好相關(guān)寄存器后,將SPI接口的4個(gè)引腳(SCKL/P1.5、MISO/P1.4、MOSI/P1.3、SS/P1.2)分別與ENC28J60相應引腳相連,以太網(wǎng)接口采用自帶網(wǎng)絡(luò )變壓器和網(wǎng)絡(luò )通信指示燈的專(zhuān)用網(wǎng)絡(luò )接口HR911105A。

一種大容量移動(dòng)存儲的網(wǎng)絡(luò )訪(fǎng)問(wèn)方案設計

1.2.2 EN028J60軟件設計及嵌入式μIP協(xié)議棧移植

(1)ENC28J60的驅動(dòng)及網(wǎng)絡(luò )數據的收發(fā) ENC28J60的驅動(dòng)程序主要分3部分:第一是配置相關(guān)寄存器,第二是芯片初始化,第三是收發(fā)數

據包,其中最核心的是收發(fā)數據包。在收發(fā)數據包時(shí)有以下幾點(diǎn)值得關(guān)注:首先ENC28J60具有一個(gè)接收過(guò)濾器,可以丟棄或接收具有組播、廣播或單播目標地址的數據包;其次,在數據字段處,以太網(wǎng)數據字段的長(cháng)度可以在0~1500字節之間變換,超過(guò)這一范圍的數據包是違反以太網(wǎng)標準的,將會(huì )被大多數以太網(wǎng)節點(diǎn)丟棄。

(2)嵌入式μIP協(xié)議棧移植

μIP是由瑞典計算機科學(xué)學(xué)院(網(wǎng)絡(luò )嵌入式系統小組)的Adam Dunkels開(kāi)發(fā)的,是專(zhuān)門(mén)為8位和16位單片機設計的一個(gè)非常小的TCP/IP協(xié)議棧。μIP完全用C語(yǔ)言編寫(xiě),可以很方便地移植到各種不同結構的單片機和操作系統上。μIP協(xié)議棧去掉了完整的TCP/IP協(xié)議中不常用的功能,簡(jiǎn)化了通信流程,設計重點(diǎn)放在IP/TCP/ICMP/UDP/ARP這些網(wǎng)絡(luò )層和傳輸協(xié)議上,保證了其代碼的通用性和結構的穩定性,而且其占用資源非常少,協(xié)議棧代碼不到6 KB,RAM只占用幾百字節。在設計上μIP采用硬件處理層、協(xié)議棧層、應用層共用一個(gè)全局緩沖區,不存在數據拷貝問(wèn)題,其發(fā)送和接收數據包都是依靠這個(gè)緩沖區,極大地節省了空間和時(shí)間。另外μIP源代碼提供一套實(shí)例程序,包括Web服務(wù)器、Web客戶(hù)端、電子郵件發(fā)送、Telnet服務(wù)器、DNS主機名解析等。μIP協(xié)議棧與系統底層和高層應用之間的關(guān)系如圖5所示。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: MCU USB ENC28J60 移動(dòng)存儲

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>