本發(fā)明涉及一種局域內(nèi)進(jìn)行數(shù)據(jù)采集的網(wǎng)絡(luò)通信裝置,特別涉及一種采用核心微處理器mcu、上位機(jī)通信接口電路、端口通信芯片、端口通信接口電路和其他有關(guān)接口電路組成的,在局域范圍內(nèi)對(duì)有上千、上萬(wàn)的采集點(diǎn)位數(shù)、或更多的采集點(diǎn)位數(shù)等大規(guī)模數(shù)據(jù)采集點(diǎn)位數(shù)的場(chǎng)合,進(jìn)行模擬量數(shù)據(jù)采集、數(shù)字量數(shù)據(jù)采集或開(kāi)關(guān)量數(shù)據(jù)采集的數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置及其實(shí)現(xiàn)方法。
背景技術(shù):
在互聯(lián)網(wǎng)通信技術(shù)以及大數(shù)據(jù)應(yīng)用技術(shù)高速發(fā)展的當(dāng)今時(shí)代,一定區(qū)域范圍內(nèi)的各種數(shù)據(jù),比如工廠中生產(chǎn)設(shè)備的運(yùn)行數(shù)據(jù)、工廠中與產(chǎn)品生產(chǎn)相關(guān)的各種過(guò)程數(shù)據(jù)、一個(gè)農(nóng)業(yè)養(yǎng)殖場(chǎng)的生物生長(zhǎng)環(huán)境數(shù)據(jù)等等,這些數(shù)據(jù)都希望能通過(guò)某種快速方便的方式,傳輸?shù)骄W(wǎng)絡(luò)數(shù)據(jù)服務(wù)器,供各種智能監(jiān)控、監(jiān)測(cè)以及大數(shù)據(jù)分析等應(yīng)用系統(tǒng)使用。目前,在一個(gè)網(wǎng)絡(luò)數(shù)據(jù)監(jiān)控監(jiān)測(cè)或云數(shù)據(jù)服務(wù)應(yīng)用系統(tǒng)中,數(shù)據(jù)服務(wù)器對(duì)局域內(nèi)的數(shù)據(jù)采集的方法是,在傳感器的基礎(chǔ)上加上一個(gè)網(wǎng)絡(luò)通信模塊,再配上網(wǎng)絡(luò)串口服務(wù)器等網(wǎng)絡(luò)通信設(shè)備,或者借用設(shè)備上自身控制系統(tǒng)的通信端口,或者利用基于計(jì)算機(jī)的pci數(shù)據(jù)采集卡,或者利用一個(gè)plc充當(dāng)數(shù)據(jù)通信設(shè)備的功能等方法來(lái)實(shí)現(xiàn)。但是,這些方法如果使用在采集點(diǎn)數(shù)較大的場(chǎng)合,就會(huì)導(dǎo)致現(xiàn)場(chǎng)接線繁瑣、大量重復(fù)布線、網(wǎng)絡(luò)路由設(shè)備使用過(guò)多、設(shè)備成本高、施工成本高、維護(hù)維修成本高等諸多弊端;更為重要的是,在一定局域內(nèi)進(jìn)行幾千或幾萬(wàn)個(gè)或更多數(shù)據(jù)采集點(diǎn)位進(jìn)行數(shù)據(jù)采集時(shí),會(huì)受到網(wǎng)絡(luò)通信設(shè)備ip地址和端口號(hào)分配資源的限制,從而會(huì)限制或影響數(shù)據(jù)采集效率;同時(shí)也會(huì)導(dǎo)致了局域網(wǎng)絡(luò)內(nèi)部ip地址和端口號(hào)資源的利用效率。因此,在一個(gè)局域空間內(nèi),如何把幾千或幾萬(wàn)個(gè)或更多采集點(diǎn)位的現(xiàn)場(chǎng)數(shù)據(jù),方便快速地采集到應(yīng)用系統(tǒng)數(shù)據(jù)服務(wù)器中,是現(xiàn)有局域數(shù)據(jù)采集網(wǎng)絡(luò)通信技術(shù)中有待解決問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
為實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明提供了一種在局域范圍內(nèi)對(duì)有上千、上萬(wàn)的采集點(diǎn)位數(shù)、或更多的采集點(diǎn)位數(shù)等大規(guī)模數(shù)據(jù)采集點(diǎn)位數(shù)的場(chǎng)合,進(jìn)行模擬量數(shù)據(jù)、數(shù)字量數(shù)據(jù)采集或開(kāi)關(guān)量數(shù)據(jù)采集的數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置及其實(shí)現(xiàn)方法。該裝置是由核心微處理器mcu、上位機(jī)通信接口電路、端口通信芯片、端口通信接口電路和其他有關(guān)接口電路組成。接口電路(1)為一個(gè)使核心微處理器mcu能與上位機(jī)建立數(shù)據(jù)通信的通信電路,這里所說(shuō)的上位機(jī)可以是局域網(wǎng)絡(luò)服務(wù)器,也可以是廣域網(wǎng)中的云端服務(wù)器,還可以是局域網(wǎng)絡(luò)中的其他數(shù)據(jù)采集通信設(shè)備或裝置。這里所說(shuō)的上位機(jī)通信電路可以包括如下幾種中的一種或多種:①rs232通信電路,②rs485通信電路,③can通信電路,④以太網(wǎng)通信電路,⑤ethercat網(wǎng)絡(luò)通信電路,⑥wifi無(wú)線通信電路。接口電路(2)為核心微處理器mcu外部數(shù)據(jù)存儲(chǔ)器接口電路,這里的數(shù)據(jù)存儲(chǔ)器可以作為本裝置進(jìn)行數(shù)據(jù)采集的數(shù)據(jù)通信使用和掉電保持?jǐn)?shù)據(jù)使用。接口電路(3)核心微處理器mcu的時(shí)鐘和復(fù)位電路,這是根據(jù)核心微處理器mcu自身的技術(shù)要求而設(shè)計(jì)的。接口電路(5)lcd顯示屏接口電路,這里的顯示屏可以顯示核心微處理器mcu的工作狀態(tài)和各種運(yùn)行參數(shù)等信息。核心微處理器mcu還分別連接了端口通信芯片(1)至端口通信芯片(n)等n個(gè)端口通信芯片,使得核心微處理器mcu能分別與端口通信芯片(1)至端口通信芯片(n)等n個(gè)端口通信芯片建立數(shù)據(jù)通信。所述n的具體數(shù)值要根據(jù)所選的核心微處理器mcu引腳數(shù)而定,通常取值為2、4、8或者16,或者更大的值。所述端口通信芯片(1)至端口通信芯片(n)等n個(gè)端口通信芯片分別連接了接口電路(4.1)至接口電路(4.n)等n路端口通信接口電路,所述n個(gè)端口通信接口電路又分別連接了n個(gè)通信端口,編號(hào)從通信端口(1)到通信端口(n)。
所述的端口通信芯片,是一種既能通過(guò)串行通信方式與核心微處理器mcu進(jìn)行數(shù)據(jù)通信功能,又具有通用異步串口通信(uart)功能的芯片。這種通信芯片可以通過(guò)小型的可編程mcu編入相應(yīng)功能的程序而獲得。所述n個(gè)端口通信芯片,與核心微處理器mcu通信方式為串口通信方式,每個(gè)端口通信芯片只占用核心微處理器mcu最多4位輸入輸出io引腳。所說(shuō)的n個(gè)端口通信芯片的通用異步串口通信(uart)端口,均可以通過(guò)轉(zhuǎn)換電路轉(zhuǎn)換為rs232通信標(biāo)準(zhǔn)、或者rs485總線通信標(biāo)準(zhǔn)、can總線通信標(biāo)準(zhǔn),從而組成n個(gè)對(duì)外的數(shù)據(jù)采集通信端口,編號(hào)為通信端口1至通信端口n。這些通信端口均可以與本發(fā)明裝置外部數(shù)據(jù)采集傳感器(裝置)以相應(yīng)通信標(biāo)準(zhǔn)(rs232通信標(biāo)準(zhǔn)、或者rs485通信標(biāo)準(zhǔn)、或者can總線通信標(biāo)準(zhǔn))組成的子網(wǎng)絡(luò)建立數(shù)據(jù)通信,在與子網(wǎng)絡(luò)進(jìn)行通信中,通信端口是子網(wǎng)絡(luò)的主機(jī),外部各數(shù)據(jù)采集傳感器(裝置)為從機(jī)。所說(shuō)的通信端口1至通信端口n,如果被轉(zhuǎn)換成rs232通信標(biāo)準(zhǔn)的通信端口,這個(gè)通信端口均可以分別與rs232轉(zhuǎn)rf無(wú)線通信網(wǎng)絡(luò)主模塊建立通信,從而與現(xiàn)場(chǎng)相應(yīng)具有rf無(wú)線通信相同頻率的從模塊的數(shù)據(jù)采集傳感器(或裝置),建立小型rf無(wú)線數(shù)據(jù)通信子網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集。同樣,上述所說(shuō)的通信端口1至通信端口n,如果被轉(zhuǎn)換成rs485總線通信標(biāo)準(zhǔn)的通信端口,這個(gè)rs485總線通信端口就可作為rs485總線通信網(wǎng)絡(luò)主機(jī),分別與現(xiàn)場(chǎng)相應(yīng)具有rs485總線通信從機(jī)特性的數(shù)據(jù)采集傳感器(或裝置),建立小型rs485總線數(shù)據(jù)通信子網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集。同樣,上述所說(shuō)的通信端口1至通信端口n,如果被轉(zhuǎn)換成can總線通信標(biāo)準(zhǔn)的通信端口,這個(gè)can總線通信端口就可作為can總線通信網(wǎng)絡(luò)主機(jī),分別與現(xiàn)場(chǎng)相應(yīng)具有can總線通信從機(jī)特性的數(shù)據(jù)采集傳感器(或裝置),建立小型can總線數(shù)據(jù)通信子網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集。上述所說(shuō)的每個(gè)通信端口,無(wú)論是連接由rf無(wú)線數(shù)據(jù)通信子網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集,還是連接由rs485總線數(shù)據(jù)通信子網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集,還是連接由can總線數(shù)據(jù)通信子網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集,均可以設(shè)計(jì)為最少256字節(jié)(256bytes)的數(shù)據(jù)采集量。這樣,每個(gè)通信端口最少可以采集2048個(gè)點(diǎn)位的開(kāi)關(guān)量數(shù)據(jù)。計(jì)算方法為:256字節(jié)×8點(diǎn)位/字節(jié)=2048點(diǎn)位;或者最少可以采集128個(gè)點(diǎn)位的雙字節(jié)數(shù)字量數(shù)據(jù)。計(jì)算方法為:256字節(jié)÷2字節(jié)=128(雙字節(jié)數(shù)字量點(diǎn)位)。n個(gè)通信端口,這樣每個(gè)本發(fā)明裝置的數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置最少可以采集2048×n個(gè)點(diǎn)位的開(kāi)關(guān)量數(shù)據(jù);或者128×n個(gè)點(diǎn)位的雙字節(jié)數(shù)字量數(shù)據(jù)。模擬量數(shù)據(jù)采集是通過(guò)傳感器進(jìn)行adc轉(zhuǎn)換,轉(zhuǎn)換成數(shù)字量進(jìn)行采集,點(diǎn)數(shù)的計(jì)算方法與雙字節(jié)數(shù)字量點(diǎn)位相同。
所述的核心微處理器mcu,需要下載相應(yīng)的軟件方可實(shí)現(xiàn)本發(fā)明的功能。主要軟件模塊包括:(1)包含通信協(xié)議的與上位機(jī)進(jìn)行通信的軟件;(2)包含通信協(xié)議的與端口通信芯片進(jìn)行串口通信的軟件;(3)lcd顯示屏驅(qū)動(dòng)軟;(4)其他輔助功能軟件。
所述的端口通信芯片,需要下載相應(yīng)的軟件方可實(shí)現(xiàn)本發(fā)明的功能。主要軟件模塊包括:(1)包含通信協(xié)議的與下位數(shù)據(jù)采集傳感器(或裝置)或由其組成的子網(wǎng)絡(luò)進(jìn)行主從式通信的軟件,端口通信芯片作為主機(jī);(2)包含通信協(xié)議的與核心微處理器mcu進(jìn)行串口通信的軟件;(3)其他輔助功能軟件。
在本發(fā)明裝置中的核心微處理器mcu和所有端口通信芯片中下載了相應(yīng)的軟件后,連接在本發(fā)明裝置中的每個(gè)通信端口上的數(shù)據(jù)采集傳感器(裝置),組成一個(gè)小型的子網(wǎng)絡(luò),所述小型子網(wǎng)絡(luò)中的每一個(gè)數(shù)據(jù)采集傳感器(裝置),都可以根據(jù)事先下載到核心微處理器mcu中的,(1)包含通信協(xié)議的與上位機(jī)進(jìn)行通信的軟件的規(guī)定,分配一個(gè)唯一的地址,相當(dāng)于一個(gè)數(shù)據(jù)存儲(chǔ)器的地址。當(dāng)上位機(jī)局域網(wǎng)絡(luò)服務(wù)器,或者廣域網(wǎng)中的云端服務(wù)器,或者局域網(wǎng)絡(luò)中的其他數(shù)據(jù)采集通信設(shè)備或裝置,要采集連接在本發(fā)明裝置中任何一個(gè)通信端口的,任意一個(gè)或多個(gè)分配地址連續(xù)的數(shù)據(jù)采集傳感器(裝置)的數(shù)據(jù)時(shí),只需要通過(guò)根據(jù)所說(shuō)的核心微處理器mcu中的軟件的通信協(xié)議,發(fā)送相應(yīng)的數(shù)據(jù)采集命令,以及被采集的事先分配給數(shù)據(jù)采集傳感器(裝置)的地址信息,就可以根據(jù)所說(shuō)的通信協(xié)議獲得現(xiàn)場(chǎng)數(shù)據(jù)采集傳感器(裝置)返回的相應(yīng)地址的數(shù)據(jù)采集傳感器(裝置)中的數(shù)據(jù)。這樣就實(shí)現(xiàn)了本發(fā)明裝置的現(xiàn)場(chǎng)數(shù)據(jù)采集功能。
上位機(jī)局域網(wǎng)絡(luò)服務(wù)器,或者廣域網(wǎng)中的云端服務(wù)器,或者局域網(wǎng)絡(luò)中的其他數(shù)據(jù)采集通信設(shè)備或裝置(以下統(tǒng)一簡(jiǎn)稱(chēng)上位機(jī)),實(shí)現(xiàn)采集一次數(shù)據(jù)采集傳感器(裝置)(以下簡(jiǎn)稱(chēng)傳感器)的數(shù)據(jù)時(shí)的步驟和方法如下:
步驟1:上位機(jī)發(fā)送含有命令和傳感器地址信息的數(shù)據(jù)通信幀給本發(fā)明裝置的核心微處理器mcu(以下簡(jiǎn)稱(chēng)mcu);
步驟2:mcu接收到上位機(jī)的數(shù)據(jù)幀后,解析命令功能和地址信息;
步驟3:mcu根據(jù)解析出的命令和地址信息,直接把該數(shù)據(jù)幀接力發(fā)送到相應(yīng)的端口通信芯片x;
步驟4:端口通信芯片x接收得到mcu發(fā)來(lái)的含有命令和地址信息數(shù)據(jù)幀后,解析出命令功能和地址信息;
步驟5:端口通信芯片x根據(jù)解析出的命令和地址信息,向連接在自己端口上的傳感器子網(wǎng)絡(luò)發(fā)出數(shù)據(jù)查詢數(shù)據(jù)通信幀;
步驟6:傳感器子網(wǎng)絡(luò)接收到數(shù)據(jù)查詢通信幀后,相應(yīng)地址的傳感器就返回一個(gè)自身的數(shù)據(jù)給端口通信芯片x;
步驟7:端口通信芯片x從傳感器子網(wǎng)絡(luò)上接收到相應(yīng)地址的傳感器數(shù)據(jù);
步驟8:端口通信芯片x把剛剛接收到的傳感器數(shù)據(jù),加上本身的端口號(hào)和相應(yīng)傳感器的地址信息,組成數(shù)據(jù)幀,發(fā)送給mcu;
步驟9:mcu接收到端口通信芯片x發(fā)送過(guò)來(lái)的含有端口號(hào)和傳感器地址信息的數(shù)據(jù)幀后,接力送給上位機(jī);
步驟10:上位機(jī)接收到mcu返回的數(shù)據(jù)幀后,解析出地址信息或傳感器數(shù)據(jù),把數(shù)據(jù)儲(chǔ)存到上位機(jī)的相應(yīng)的數(shù)據(jù)存儲(chǔ)器中。本次數(shù)據(jù)采集結(jié)束。
本發(fā)明裝置將結(jié)合實(shí)施例、參考附圖進(jìn)行詳細(xì)說(shuō)明,以使對(duì)本發(fā)明的目的、特征及優(yōu)點(diǎn)進(jìn)行深入的了解。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置的整體結(jié)構(gòu)框圖。
圖2是本發(fā)明實(shí)施例提供局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置的應(yīng)用連接結(jié)構(gòu)框圖。
圖3是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置其中一個(gè)rs485端口組成的rs485總線數(shù)據(jù)采集子網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
圖4是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置其中一個(gè)rs232端口組成rf無(wú)線通信主模塊建立的rf無(wú)線數(shù)據(jù)采集子網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
圖5,本裝置其中一個(gè)can總線端口組成的can總線數(shù)據(jù)采集子網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
圖6,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(1)上位機(jī)通信接口電路連接圖。
圖7,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(2)外部數(shù)據(jù)存儲(chǔ)器接口電路和接口電路(3)時(shí)鐘和復(fù)位電路的連接圖。
圖8,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(4.1)、接口電路(4.2)和接口電路(4.2)的電路連接圖。
圖9,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(4.3)、接口電路(4.5)和接口電路(4.6)的電路連接圖。
圖10,是本發(fā)明實(shí)施例局域據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(4.7)、接口電路(4.8)和接口電路(4.9)的電路連接圖。
圖11,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(4.10)、接口電路(4.11)和接口電路(4.12)的電路連接圖。
圖12,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(4.13)、接口電路(4.14)和接口電路(4.15)的電路連接圖。
圖13,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置接口電路(4.16)和接口電路(5)的電路連接圖。
圖14,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置核心微處理器mcu的主程序和數(shù)據(jù)通信中斷服務(wù)程序的流程圖。
圖15,是本發(fā)明實(shí)施例局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置端口通信芯片的主程序和數(shù)據(jù)通信中斷服務(wù)程序的流程圖。
具體實(shí)施方式
為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖詳細(xì)描述本發(fā)明提供的實(shí)施例。參見(jiàn)圖1、圖2、圖3、圖4、和圖5所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的具體描述如下:
1)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例采用的核心微處理器mcu(以下簡(jiǎn)稱(chēng)mcu)選用armcortex-m3為核的32位微處理器mcu,型號(hào)為stm32f103vct6,封裝為lqfp100,芯片引腳為100個(gè)。其主要性能為:最高頻率為72mhz,含256kflash程序存儲(chǔ)器rom、64k內(nèi)部數(shù)據(jù)存儲(chǔ)器ram;含pa,pb,pc,pd,pe等五個(gè)16位輸入輸出i/o端口;集成了3個(gè)spi串口接口電路,2個(gè)iic串口接口電路,5個(gè)usart或uart異步串口等。
2)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例采用的端口通信芯片選用stm8為核的8位微處理器芯片,型號(hào)為stm8s105k4,封裝為lqfp32,芯片引腳為32個(gè)。其主要性能為:最高頻率為24mhz,含16kflash程序存儲(chǔ)器rom、2k內(nèi)部數(shù)據(jù)存儲(chǔ)器ram,,以及1k的eeprom;含pa,pb,pc,pd,pe等五個(gè)8位輸入輸出i/o端口,lqfp32共引出了25個(gè)輸入輸出i/o引腳;集成了1個(gè)spi串口接口電路,1個(gè)iic串口接口電路,1個(gè)uart異步串口等。
3)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的上位機(jī)通信電路具有①rs232通信電路,②rs485通信電路和④以太網(wǎng)通信電路。
4)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例中有16個(gè)數(shù)據(jù)通信端口,即上述中n的值為16,其通信端口編號(hào)從通信端口1至通信端口16。
5)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例采用spi的串口通信方式與核心微處理器mcu進(jìn)行數(shù)據(jù)通信。
6)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例中的16個(gè)通信端口,每個(gè)通信端口具有4k字節(jié)(4096bytes)的數(shù)據(jù)采集量,這樣,這個(gè)實(shí)施例的每個(gè)端口最大能采集32768點(diǎn)位的開(kāi)關(guān)量數(shù)據(jù),計(jì)算方法為:4096字節(jié)×8點(diǎn)位/字節(jié)=32768點(diǎn)位;或者最大能采集2048點(diǎn)位雙字節(jié)數(shù)字量點(diǎn)位,計(jì)算方法為:4096字節(jié)÷2字節(jié)=2048(雙字節(jié)數(shù)字量點(diǎn)位);16個(gè)通信端口就可以采集32768點(diǎn)位×16=524288個(gè)開(kāi)關(guān)量點(diǎn)位,或者2048×16=32768個(gè)雙字節(jié)數(shù)字量點(diǎn)位。
7)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例中的核心微處理器mcu中下載了(1)包含modbus通信協(xié)議的與上位機(jī)進(jìn)行通信的軟件、(2)包含spi通信協(xié)議的與端口通信芯片進(jìn)行串口通信的軟件,和(3)2.4寸spi串口tft彩色lcd顯示屏ili9341驅(qū)動(dòng)軟件。所說(shuō)的spi通信協(xié)議軟件,核心微處理器mcu是作為spi主機(jī)的,并且用是通過(guò)軟件的方法,模擬出16個(gè)spi通信端口,分別與16個(gè)端口通信芯片建立雙向數(shù)據(jù)通信的功能。
8)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例中的端口通信芯片中下載了(1)包含rs485總線通信協(xié)議的與下位數(shù)據(jù)采集傳感器(或裝置)進(jìn)行通信的軟件、(2)包含spi通信協(xié)議的與核心微處理器mcu進(jìn)行串口通信的軟件。所說(shuō)的spi通信協(xié)議軟件,端口通信芯片是作為spi從機(jī)的,并且每個(gè)端口通信芯片,分別與核心微處理器mcu用軟件方法模擬出的16個(gè)spi通信端口中的一個(gè)spi通信端口,建立雙向數(shù)據(jù)通信的功能。
9)本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例工作時(shí),連接在本發(fā)明裝置中的每個(gè)通信端口上的數(shù)據(jù)采集傳感器(裝置),所組成的小型子網(wǎng)絡(luò)中的每一個(gè)數(shù)據(jù)采集傳感器(裝置),都可以根據(jù)modbus通信協(xié)議地址的規(guī)范,分配一個(gè)唯一的地址,這個(gè)地址相當(dāng)于modbus通信協(xié)議中規(guī)定的從機(jī)中的一個(gè)數(shù)據(jù)存儲(chǔ)器的地址。上位機(jī)局域網(wǎng)絡(luò)服務(wù)器,或者廣域網(wǎng)中的云端服務(wù)器,或者局域網(wǎng)絡(luò)中的其他數(shù)據(jù)采集通信設(shè)備或裝置,要獲得連接在本發(fā)明裝置中任何一個(gè)通信端口的,任意一個(gè)或多個(gè)分配地址連續(xù)的數(shù)據(jù)采集傳感器(裝置)的數(shù)據(jù)時(shí),只需根據(jù)modbus通信協(xié)議中的命令格式,使用功能碼03,就可以采集到連接在連接在本發(fā)明裝置中任何一個(gè)端口上的任何單一或連續(xù)的數(shù)據(jù)采集傳感器(裝置)的數(shù)據(jù)。
10)參見(jiàn)圖6所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(1)上位機(jī)通信接口電路。包含①rs232通信電路,②rs485通信電路,④以太網(wǎng)通信電路。其中①rs232通信電路選用max232接口芯片,連接關(guān)系如下:max232的t1in引腳和r1out引腳分別與mcu的pa9(txd)和pa10(rxd)連接;max232的t1out引腳和r1in引腳分別與db9/f端口座子的2引腳和3引腳連接;max232的gnd與db9/f端口座子的5引腳連接。其中②rs485通信電路選用max485接口芯片,連接關(guān)系如下:max485的rx引腳和tx引腳分別與mcu的pc11(rxd)和pc10(txd)連接;max485的a引腳和b引腳分別與三線端口座子的1引腳和3引腳連接;max485的gnd與三線端口座子的2引腳連接。其中④以太網(wǎng)通信電路選用enc28j60以太網(wǎng)控制器芯片,連接關(guān)系如下:enc28j60以太網(wǎng)控制器芯片的nss引腳、sck引腳、mosi引腳和miso引腳,分別與mcu的spi-1通信接口pa4引腳、pa5引腳、pa6引腳和pa7引腳連接;enc28j60以太網(wǎng)控制器芯片的td+引腳、td-引腳、rd+引腳和rd-引腳,分別與含以太網(wǎng)變壓器的rj45端口座子hr911105a的td+引腳、td-引腳、rd+引腳和rd-引腳連接。
11)參見(jiàn)圖7所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(2)數(shù)據(jù)存儲(chǔ)器接口電路。實(shí)施例選用eepromat24c04芯片,連接關(guān)系如下:at24c04芯片的sda引腳和sdl引腳,分別與mcu的iic通信接口pb9引腳和pb8引腳連接。
12)參見(jiàn)圖7所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(3)時(shí)鐘和復(fù)位電路。時(shí)鐘電路選用8mhz的晶體組成,時(shí)鐘電路的ocs_in引線和ocs_out引線分別與mcu的ocs_in引腳和ocs_out引腳連接;復(fù)位電路選用電容和電阻組成,復(fù)位電路的nrst引線與mcu的nrst引腳連接。
13)參見(jiàn)圖13所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(5)lcd顯示屏接口電路。lcd顯示屏接口電路選用spi接口的lcd顯示屏,型號(hào)為:2.4寸spi串口tft彩屏,顯示屏的控制芯片為ili9341,與mcu的連接關(guān)系如下:nss引腳、sck引腳、mosi引腳和miso引腳,分別與mcu的spi-2通信接口pb12引腳、pb13引腳、pb14引腳和pb15引腳連接。
14)參見(jiàn)圖8所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.1)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片1(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pa1引腳、pa2引腳、pa3引腳和pa8引腳連接;端口通信芯片1(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片1的rx引腳和tx引腳連接。
15)參見(jiàn)圖8所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.2)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片2(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pa11引腳、pa12引腳、pa13引腳和pa14引腳連接;端口通信芯片2(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片2的rx引腳和tx引腳連接。
16)參見(jiàn)圖8所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.3)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片3(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pa15引腳、pb0引腳、pb1引腳和pb2引腳連接;端口通信芯片3(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片3的rx引腳和tx引腳連接。
17)參見(jiàn)圖9所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.4)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片4(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pb3引腳、pb4引腳、pb5引腳和pb6引腳連接;端口通信芯片4(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片4的rx引腳和tx引腳連接。
18)參見(jiàn)圖9所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.5)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片5(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pb7引腳、pb10引腳、pb11引腳和pc0引腳連接;端口通信芯片5(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片5的rx引腳和tx引腳連接。
19)參見(jiàn)圖9所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.6)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片6(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pc1引腳、pc2引腳、pc3引腳和pc4引腳連接;端口通信芯片6(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片6的rx引腳和tx引腳連接。
20)參見(jiàn)圖10所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.7)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片7(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pc5引腳、pc6引腳、pc7引腳和pc8引腳連接;端口通信芯片7(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片7的rx引腳和tx引腳連接。
21)參見(jiàn)圖10所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.8)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片8(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pc9引腳、pc10引腳、pc11引腳和pc12引腳連接;端口通信芯片8(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片8的rx引腳和tx引腳連接。
22)參見(jiàn)圖10所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.9)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片9(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pc13引腳、pc14引腳、pc15引腳和pd0引腳連接;端口通信芯片9(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片9的rx引腳和tx引腳連接。
23)參見(jiàn)圖11所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.10)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片10(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pd1引腳、pd2引腳、pd3引腳和pd4引腳連接;端口通信芯片10(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片10的rx引腳和tx引腳連接。
24)參見(jiàn)圖11所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.11)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片11(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pd5引腳、pd6引腳、pd7引腳和pd8引腳連接;端口通信芯片11(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片11的rx引腳和tx引腳連接。
25)參見(jiàn)圖11所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.12)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片12(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pd9引腳、pd10引腳、pd11引腳和pd12引腳連接;端口通信芯片12(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片12的rx引腳和tx引腳連接。
26)參見(jiàn)圖12所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.13)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片13(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pd13引腳、pd14引腳、pd15引腳和pe0引腳連接;端口通信芯片13(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片13的rx引腳和tx引腳連接。
27)參見(jiàn)圖12所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.14)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片14(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pe1引腳、pe2引腳、pe3引腳和pe4引腳連接;端口通信芯片14(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片14的rx引腳和tx引腳連接。
28)參見(jiàn)圖12所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.15)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片15(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pe5引腳、pe6引腳、pe7引腳和pe8引腳連接;端口通信芯片15(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片15的rx引腳和tx引腳連接。
29)參見(jiàn)圖13所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的接口電路(4.16)端口通信接口電路。電路連接關(guān)系如下:端口通信芯片16(stm8s105k4)的nss(pe5)引腳、mosi(pc6)引腳、miso(pc7)引腳和sck(pc5)引腳,分別與mcu的pe9引腳、pe10引腳、pe11引腳和pe12引腳連接;端口通信芯片16(stm8s105k4)的uart_rx(pd5)引腳和uart_tx(pd6)引腳分別與max485芯片16的rx引腳和tx引腳連接。
30)參見(jiàn)圖14所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的核心微處理器mcu的主程序和數(shù)據(jù)通信中斷服務(wù)程序的流程。核心微處理器mcu的主程序流程:mcu上電后,首先進(jìn)行芯片初始化;接著啟動(dòng)上位機(jī)數(shù)據(jù)通信中斷;然后進(jìn)入步驟1,判斷是否接收到上位機(jī)的數(shù)據(jù)幀,如果不是,則返回到步驟1,繼續(xù)判斷是否接收到上位機(jī)的數(shù)據(jù)幀;如果是,則根據(jù)通信協(xié)議解析數(shù)據(jù)幀的命令和地址信息;接著,把把命令和地址信息發(fā)送給相應(yīng)的端口通信芯片;然后進(jìn)入步驟2,判斷是否接收到相應(yīng)端口通信芯片的返回?cái)?shù)據(jù)幀,如果不是,則返回到步驟2,繼續(xù)判斷是否接收到相應(yīng)端口通信芯片的返回?cái)?shù)據(jù)幀;如果是,解析出數(shù)據(jù)幀中被采集的現(xiàn)場(chǎng)傳感器數(shù)據(jù)和地址;根據(jù)上位機(jī)通信協(xié)議,把現(xiàn)場(chǎng)被采集傳感器的數(shù)據(jù)和地址信息發(fā)送給上位機(jī);接著返回到步驟1,判斷是否接收到上位機(jī)的數(shù)據(jù)幀。
mcu上位機(jī)數(shù)據(jù)通信中斷服務(wù)程序流程:首先中斷開(kāi)始;接著接收上位機(jī)發(fā)送的數(shù)據(jù);接著判斷是否數(shù)據(jù)幀結(jié)束標(biāo)志,如果不是,直接轉(zhuǎn)到中斷返回;如果是,則設(shè)置數(shù)據(jù)幀結(jié)束標(biāo)志;接著中斷返回。
31)參見(jiàn)圖15所示,本發(fā)明局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置實(shí)施例的端口通信芯片的主程和端口通信芯片的數(shù)據(jù)通信中斷服務(wù)程序的流程。端口通信芯片的主程序流程:端口通信芯片上電后,首先進(jìn)行芯片初始化;接著啟動(dòng)mcu數(shù)據(jù)通信中斷;然后進(jìn)入步驟1,判斷是否接收到mcu的數(shù)據(jù)幀,如果不是,則返回到步驟1,繼續(xù)判斷是否接收到mcu的數(shù)據(jù)幀;如果是,則根據(jù)通信協(xié)議解析數(shù)據(jù)幀的命令和地址信息;接著,把把命令和地址信息發(fā)送給把命令和地址信息發(fā)送給通信端口連接的子網(wǎng)絡(luò);然后進(jìn)入步驟2,判斷是否接收到相應(yīng)通信端口連接的子網(wǎng)絡(luò)返回?cái)?shù)據(jù)幀,如果不是,則返回到步驟2,繼續(xù)判斷是否接收到相應(yīng)通信端口連接的子網(wǎng)絡(luò)返回?cái)?shù)據(jù)幀;如果是,解析出數(shù)據(jù)幀中被采集的現(xiàn)場(chǎng)傳感器數(shù)據(jù)和地址;根據(jù)mcu機(jī)通信協(xié)議,把現(xiàn)場(chǎng)被采集傳感器的數(shù)據(jù)和地址信息發(fā)送給mcu;接著返回到步驟1,判斷是否接收到mcu的數(shù)據(jù)幀。
端口通信芯片數(shù)據(jù)通信中斷服務(wù)程序流程:首先中斷開(kāi)始;接著接收mcu發(fā)送的數(shù)據(jù);接著判斷是否數(shù)據(jù)幀結(jié)束標(biāo)志,如果不是,直接轉(zhuǎn)到中斷返回;如果是,則設(shè)置數(shù)據(jù)幀結(jié)束標(biāo)志;接著中斷返回。
以上對(duì)本發(fā)明裝置施例所提供的局域數(shù)據(jù)采集網(wǎng)絡(luò)通信裝置進(jìn)行了詳細(xì)介紹,對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。