新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 微處理器dsPIC33F在微機(jī)保護(hù)裝置中的應(yīng)用

微處理器dsPIC33F在微機(jī)保護(hù)裝置中的應(yīng)用

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

3.1 存儲(chǔ)器擴(kuò)展及實(shí)時(shí)時(shí)鐘接口
j256GP710內(nèi)部集成30 KB的SRAM用作數(shù)據(jù)存儲(chǔ)空間,256 KB的增強(qiáng)型Flash作為程序或數(shù)據(jù)存儲(chǔ)區(qū)。由于,存儲(chǔ)定值、事件記錄和故障錄波數(shù)據(jù)都需較大存儲(chǔ)空間,因此該擴(kuò)展1 MB的外部存儲(chǔ)空間,將串行閃速存儲(chǔ)器AT45DB081通過(guò)SPI總線同J256GP71O相連。AT45DB081的工作電壓為2. 7~3.6 V,在系統(tǒng)重復(fù)擦寫(xiě)并兼容SPI的Flash存儲(chǔ)器。內(nèi)部有4 096頁(yè),每頁(yè)264個(gè)字節(jié),共計(jì)8MB的主存儲(chǔ)器容量以及2個(gè)264字節(jié)的SRAM數(shù)據(jù)緩存器。AT45DB081與J256GP710的接口設(shè)計(jì)電路如圖3所示。圖3中dsPIC33Fj256GP710的SDO1、SOI1、SCK1分別與 AT45DB081的串行輸入(SI)、串行輸出(SO)和時(shí)鐘(SCK)引腳相連,RE4,RE2,RE5,RE6分別與AT45DB081的片選 (CS)、復(fù)位(RESET)、忙閑狀態(tài)(RDY/BUSY)和寫(xiě)(WP)引腳相連。dsPIC33F通過(guò)RE5讀取AT45DB081的忙閑狀態(tài)引腳判斷存儲(chǔ)器是否空閑,若RE5為“1”表示存儲(chǔ)器空閑,否則表示存儲(chǔ)器忙。當(dāng)存儲(chǔ)器空閑時(shí),通過(guò)RE4引腳輸出“0”作為存儲(chǔ)器的片選信號(hào),選中存儲(chǔ)器后通過(guò)SPI發(fā)送命令字完成對(duì)AT45DB081的相應(yīng)讀寫(xiě)操作。保護(hù)需配置3個(gè)定值,且存儲(chǔ)在不同的3個(gè)區(qū)間,運(yùn)行時(shí)校驗(yàn)其定值是否正確。為此,對(duì) AT45DB081的空間分配如下:定值、控制字、工廠設(shè)置和調(diào)節(jié)系數(shù)共分為4個(gè)區(qū),存儲(chǔ)在AT45DB081的第0~9頁(yè),即第一區(qū)為 AT45DB081的第0,1,2頁(yè),分別存儲(chǔ)保護(hù)的第1,2,3個(gè)定值;第二區(qū)為AT45DB081的第3,4,5頁(yè),分別存儲(chǔ)保護(hù)的第1, 2,3個(gè)定值;第三區(qū)為AT45DB081的第6,7,8頁(yè),分別存儲(chǔ)保護(hù)裝置的第1.2.3個(gè)定值;第4區(qū)為AT45DB081的第9頁(yè),存儲(chǔ)調(diào)節(jié)系數(shù)。事件記錄存儲(chǔ)在AT45DB081的第10~1 000頁(yè)。故障錄波數(shù)據(jù)存儲(chǔ)在AT45DB081的第1 001~4 000頁(yè)。

PCF8583是串行總線擴(kuò)展方式,通過(guò)DSP的I2C時(shí)鐘線SCL和數(shù)據(jù)線SDA完成對(duì)PCF8583的參數(shù)設(shè)置、日期和時(shí)間讀取等操作,同時(shí) PCF8583具有接口簡(jiǎn)單、占用DSP資源少和可靠性高等優(yōu)點(diǎn),并在掉電時(shí)仍能進(jìn)行時(shí)間計(jì)數(shù)。擴(kuò)展的時(shí)鐘器件用來(lái)記錄系統(tǒng)的工作時(shí)間。除此之外,為避免裝置頻繁讀寫(xiě)EEPROM,對(duì)于保護(hù)裝置頻繁讀寫(xiě)的信號(hào)如事故、預(yù)告、脈沖量、重啟次數(shù)、裝置故障信號(hào)及出口標(biāo)志都存放在RAM寄存器,時(shí)鐘器件在讀取當(dāng)前時(shí)間的同時(shí)也調(diào)用這些內(nèi)容,在裝置斷電又重新上電時(shí)能夠獲得這些信息。
3.2 基于DMA的A/D轉(zhuǎn)換
dsPIC33FJ256GP710集成32路12 bit高精度的A/D轉(zhuǎn)換模塊,其轉(zhuǎn)換速度可達(dá)1 Ms/s,可靈活設(shè)定采樣通道。采樣模式可選用手動(dòng)和自動(dòng)兩種,通道停止采樣并開(kāi)始轉(zhuǎn)換的方式也有多種,如手動(dòng)清除SAMP開(kāi)始采樣、內(nèi)部計(jì)數(shù)器計(jì)數(shù)觸發(fā)采樣、定時(shí)器Timer3溢出觸發(fā)采樣、中斷引腳INTO觸發(fā)等。其中定時(shí)器Timer3溢出觸發(fā)采樣適合保護(hù)裝置的定點(diǎn)采樣。A/D轉(zhuǎn)換采用直接存儲(chǔ)器訪問(wèn)(DMA)方式。采樣結(jié)束后直接將數(shù)據(jù)存放于DMA RAM(有2 KB空間),不占用CPU周期。A/D轉(zhuǎn)換結(jié)束并且數(shù)據(jù)已經(jīng)存儲(chǔ)于DMA RAM后會(huì)產(chǎn)生DMA中斷,寄存器AD1CON2可用于選擇多路采樣結(jié)束后將產(chǎn)生中斷。本裝置共采集15路模擬量,采用自動(dòng)采樣和Timer3觸發(fā)轉(zhuǎn)換的模式,在每個(gè)采樣周期內(nèi)觸發(fā)轉(zhuǎn)換一次,全部15路采樣結(jié)束后產(chǎn)生中斷并一次從DMA RAM區(qū)讀取所有15路數(shù)據(jù)。在這種工作模式下,CPU只需啟動(dòng)一次A/D轉(zhuǎn)換,在不占用CPU指令周期的情況下,通過(guò)DMA方式將采樣數(shù)據(jù)從外設(shè)轉(zhuǎn)存于 RAM中,采樣處理效率大大提高。給CPU空出了足夠的時(shí)間來(lái)計(jì)算和故障判斷。
3.3 以太網(wǎng)接口的擴(kuò)展
以太網(wǎng)接口擴(kuò)展電路如圖4所示。本裝置采用I/O口模擬SPI實(shí)現(xiàn)主控制器和 ENC28J60的連接,ENC28J60收滿一幀后,通過(guò)INT引腳發(fā)中斷信號(hào)通知dsPIC33F。SO為主機(jī)讀命令引腳,SI為主機(jī)寫(xiě)命令引腳。 Microchip公司提供了一組專(zhuān)門(mén)針對(duì)dsPIC33F系列數(shù)字信號(hào)控制器的嵌入式TCP/IP協(xié)議棧CMX-MicroNet,該協(xié)議棧針對(duì) dsPIC33F系列器件的Flash和RAM資源進(jìn)行優(yōu)化,為以太網(wǎng)功能的實(shí)現(xiàn)提供軟件支持。該協(xié)議棧既可以單獨(dú)運(yùn)行也可以嵌入實(shí)時(shí)操作系統(tǒng) (RTOS)中使用。Microchip CMX-MicroNet協(xié)議棧采用分層結(jié)構(gòu),用戶可以在不十分熟悉TCP/IP的情況下實(shí)現(xiàn)網(wǎng)絡(luò)

在主程序中,對(duì)dsPIC33F自帶看門(mén)狗時(shí)間初始化,即需設(shè)置:2個(gè)8位的計(jì)數(shù)器WDT Prescaler A、WDT Prescaler B,溢出時(shí)間可在2 ms~16 s之間調(diào)整。在對(duì)dsPIC33F的定時(shí)器初始化中,需考慮dsPIC33FJ256GP710具有9個(gè)16位定時(shí)器。本裝置軟件使用3個(gè)定時(shí)器:T1、 T3和T5。其中定時(shí)器T1的中斷時(shí)間為1 ms,完成時(shí)鐘的讀寫(xiě)、開(kāi)入量采集、開(kāi)出量輸出、開(kāi)關(guān)變位事件記錄等功能。



評(píng)論


相關(guān)推薦

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

關(guān)閉