色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM單片機(jī)的水表智能抄表系統(tǒng)設(shè)計(jì)

          基于ARM單片機(jī)的水表智能抄表系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2013-02-19 來源:網(wǎng)絡(luò) 收藏

            2.1 與SDRAM HY57V161610D的連接

            在抄表手機(jī)中運(yùn)行的是一個(gè)自己編寫的小型操作系統(tǒng)。它擁有自己的文件系統(tǒng),能夠解釋并運(yùn)行上位機(jī)所編寫的Foxpro程序。由于牽涉到對數(shù)據(jù)庫的操作,系統(tǒng)所需的內(nèi)存較大。本系統(tǒng)選擇了HYUNDAI公司的SDRAM-HY57V161610D.它的數(shù)據(jù)寬度為16位,由兩個(gè)BANK組成,共2MB的存儲(chǔ)容量。由于的BANK6、7支持SDRAM,因此它與HY57V161610D的連接相當(dāng)簡單,不需要軟件驅(qū)動(dòng)程序,只要設(shè)置兩個(gè)寄存器即可。在BWSCON寄存器中設(shè)置BANK6的數(shù)據(jù)寬度為16位,在BANKCON6寄存器中設(shè)置MT=0X3,Trcd=0X0,SCAN=0X0.

            2.2 與FLASH KM29U128T的連接

            抄表手機(jī)中保存抄表所得的數(shù)據(jù)庫。當(dāng)用戶較多時(shí),數(shù)據(jù)庫會(huì)占用較大的存儲(chǔ)空間。特別是當(dāng)進(jìn)行一個(gè)月用水報(bào)表分析時(shí),匯集器每隔一小時(shí)(或者更短)就存儲(chǔ)一次數(shù)據(jù),抄表手機(jī)必須讀取這一個(gè)月的全部數(shù)據(jù)。此時(shí)的數(shù)據(jù)庫是相當(dāng)龐大的。因此選擇了SAMSUNG公司的FLASH-KM29U128T,該FLASH存儲(chǔ)容量達(dá)16MB,足夠數(shù)據(jù)庫存儲(chǔ)使用。它的不足之處是:它不是線性尋址的,存儲(chǔ)速度較慢;讀寫比較麻煩,必須按頁為單位(512字節(jié))進(jìn)行讀寫,每次寫之前必須對該頁所在的BLOCK進(jìn)行一次擦除;而且它并不保證每個(gè)BLOCK(32PAGE為一個(gè)BLOCK)都是好的,壞率為1%,但它保證前兩個(gè)BLOCK肯定是好的。

            利用前兩個(gè)BLOCK建立一個(gè)FAT表,用邏輯的BLOCK號對應(yīng)物理上的BLOCK,每次讀寫都對邏輯上的BLOCK進(jìn)行操作。在每次寫操作時(shí)都進(jìn)行一次讀操作,與所寫的內(nèi)容進(jìn)行比較。如果發(fā)現(xiàn)有所不同,就再寫一次;若再錯(cuò)就認(rèn)為該BLOCK壞了,做好標(biāo)記并找后面好的BLOCK來代替,這樣能保證邏輯上的BLOCK都是好的。

            2.3 3C44B0X與LCD TCM-A0902的連接

            3C44B0X自帶LCD控制模塊,但它并不支持所有點(diǎn)陣形式的LCD.為了充分利用該芯片,可以選它所支持的LCD.但如果一定要用其他的LCD,這也沒關(guān)系,因?yàn)閷CD的操作就象對其他的存儲(chǔ)器操作一樣簡單。

            本系統(tǒng)選用的是EPSON公司的TCM-A0902、單色、320×200.直接使用3C44B0X的BANK4來控制。由于3C44B0X是高速處理器,因此在對LCD操作時(shí)加入了軟延時(shí)。

            LCD顯示滿屏的程序如下:

            #define LCDCMD (*(volatile unsigned char *) 0x8000000)

            #define LCDDATA (*(volatile unsigned char *) 0x8000001)

            void Lcd_Displayfull(void ) //顯示滿屏

            { int j;

            U8 i,k;

            LCDCMD=PASET; //頁面設(shè)置,page0

            LCDDATA=0x0;

            LCDCMD=CASET; //列設(shè)置, column0

            LCDDATA=0x0;

            LCDDATA=0x0;

            for(i=0;i25;i++) //從第0頁到24頁

            { for(j=0;j320;j++) //從第0列到319列

            { LCDCMD=MWRITE; //寫命令

            LCDDATA =lcd_disp[i][j]; //寫數(shù)據(jù)

            for(k=0;k3;k++); //軟延時(shí)

            }

            LCDCMD = RETURN; //換頁

            }

            }

            2.4 3C44B0X與USB9603的連接

            由于抄表手機(jī)抄表所得的數(shù)據(jù)是以數(shù)據(jù)庫的形式傳送給上位機(jī),當(dāng)數(shù)據(jù)庫較大時(shí)不可能通過串口傳送。USB通訊時(shí),最高理論傳輸速率可達(dá)到12MB/s,因此可以通過USB來傳送數(shù)據(jù)庫。由于3C44B0X不帶USB接口,因此必須外擴(kuò)一個(gè)USB接口。

            本系統(tǒng)選用NATIONAL公司的USBN9603.它是9602的改進(jìn)型,對9602存在的一些缺陷作了改正,并減少了部分寄存器,使得對USB通訊的編程相對簡單了許多。由于牽涉到對FLASH的操作,USB的通訊速率并沒有想象的那樣高。下傳數(shù)據(jù)庫時(shí),由于要對FLASH進(jìn)行寫操作,USB的傳輸速率只有200KB/s;但是上傳時(shí)只對FLASH進(jìn)行讀操作,USB的傳輸速率就明顯快多了,可以達(dá)到800KB/s.因此,選擇何種FLASH,如何對FLASH進(jìn)行編程,對USB的傳輸速率有較大的影響。

            2.5 抄表手機(jī)其他部分

            抄表手機(jī)還包括鍵盤輸入、串口通訊、電池檢測等部分。這幾部分比較簡單。比如鍵盤輸入部分:如果想用鍵盤中斷,只要用外部中斷EINT4、5、6、7,因?yàn)檫@四個(gè)中斷源的中斷入口地址是同一個(gè),再加上幾個(gè)普通的I/O口就可以組成一個(gè)中斷鍵盤。如果想改成掃描鍵盤,那也很簡單,只要把EINT4、5、6、7設(shè)置成I/O口功能就可以了,硬件上不需要作任何改動(dòng)。串口通訊也很簡單,只要在S3C44B0X的UART口上外接一片MAX232電平轉(zhuǎn)換芯片就可以實(shí)現(xiàn)標(biāo)準(zhǔn)的RS232通訊功能。電池檢測部分只要把來自電池部分的電壓連接到某個(gè)A/D口就可以了。如果所用的電池電壓高于S3C44B0X的工作電壓(3.3V),通過電阻分壓后再接到A/D口。

            由于FLASH KM29U128T不是線性尋址的,不能作為系統(tǒng)啟動(dòng)之用。因此,需要一片線性尋址的EEPROM(如29EE010)作為系統(tǒng)初始化使用。它的主要任務(wù)是初始化系統(tǒng),把存于FLASH中的操作系統(tǒng)調(diào)入SDRAM中運(yùn)行。因此,EEPROM的容量不需很大。硬件連接時(shí)注意EEPROM的片選信號應(yīng)接S3C44B0X的BANK0(NGCS0)。

            自來是個(gè)比較大的系統(tǒng),本文只涉及到它的核心部分,而且是硬件部分。電力測量設(shè)備與電能計(jì)量裝置不僅關(guān)系到結(jié)算的準(zhǔn)確性,涉及各利益主體的經(jīng)濟(jì)效益,而且對系統(tǒng)的運(yùn)行具有參考和指導(dǎo)意義。運(yùn)營管理人員對采集的電網(wǎng)運(yùn)行參數(shù)、電量等數(shù)據(jù)進(jìn)行分析、評價(jià),可以及時(shí)采取措施,調(diào)整發(fā)供配電方式,不斷提高電網(wǎng)運(yùn)行的經(jīng)濟(jì)性。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉