基于單片機(jī)C8051F060的智能功率柜的設(shè)計應(yīng)用
C8051F060中Flash的0X0000~0X007F地址范圍既可用于片內(nèi)64kB Flash,也可用于附加的128B的扇區(qū),這可通過設(shè)置PSCTL寄存器的SFLE位來實(shí)現(xiàn)。由于片內(nèi)Flash必須先擦除再寫入,而且應(yīng)當(dāng)以512B為一扇區(qū)進(jìn)行,故附加的128B的扇區(qū)更適合用作非易失性數(shù)據(jù)的存儲。在功率柜中,通常需要在線修改的參數(shù)為PI調(diào)節(jié)器的P和I,下面以KEIL C語句為例給出在線修改參數(shù)的程序:
WrRe Flash
unsigned int xdata *pwrite
unsigned int code *pread
unsigned char i
unsigned char i1
WDTCN=0xde //禁止看門狗
WDTCN=0xad
FLSCL|=0x09 //25MHz時鐘的擦寫頻率
PSCTL|=0X02 //允許Flash扇區(qū)擦除
PSCTL|=0X05 //允許Flash扇區(qū)寫
pwrite=0x0000 0x0000指向128B扇區(qū)
*pwrite=0 //擦除Flash
PSCTL&=~0X02 //禁止擦除Flash
fori=0i<2i++ //將P和I參數(shù)寫入
*pwrite++=PIi
PSCTL&=~0x01 //禁止寫Flash
pread=0x0000 //讀入當(dāng)前值
fori1=0i1<2i1++
PIi1=*pread++
4?。茫粒慰偩€在勵磁裝置中的應(yīng)用
CAN總線是主要的現(xiàn)場總線之一。由于其低廉的開發(fā)費(fèi)用、良好的抗干擾能力,CAN總線在工業(yè)測控領(lǐng)域得到了廣泛應(yīng)用。關(guān)于CAN總線的基本概念和接口電路,其相關(guān)內(nèi)容較多,本文只介紹如何用C8051F060實(shí)現(xiàn)CAN總線通信的方法。
4.1 C8051F060的CAN控制器結(jié)構(gòu)
圖4給出了C8051F060的內(nèi)部CAN結(jié)構(gòu)圖,由于MCU不能直接訪問信息RAM,因此,必須通過IF寄存器與信息RAM交換數(shù)據(jù)。信息RAM共可存儲32幀信息。而IF寄存器則分為IF1和IF2兩組,以分別定義為接受、發(fā)送功能,IF的CommandRequest寄存器可用于定義訪問32幀信息的哪一幀,CommandMask則用于定義將一幀信息的哪一部分傳到信息RAM中。
當(dāng)中斷寄存器IR為0x0000時,表示沒有中斷發(fā)生;當(dāng)其為0x0001~0x0020時,表示32幀信息的哪一幀引起中斷,而當(dāng)其為0x8000時,則表示狀態(tài)改變(發(fā)送完成、接收完成、錯誤狀態(tài)等)引起中斷。
4.2 CAN通信
通信的初始化過程與其它CAN控制器類似,圖5給出了其發(fā)送、信息RAM與IF通信和接收中斷子程序的框圖。
4.3 CAN總線在智能功率柜中的應(yīng)用
CAN通信系統(tǒng)由四個節(jié)點(diǎn)組成,其中包括一個調(diào)節(jié)器和三個功率柜。功率柜由C8051F060完成通信功能,調(diào)節(jié)器由集成了CAN協(xié)議的網(wǎng)卡HT-1302B負(fù)責(zé)通信。調(diào)節(jié)器可將單柜應(yīng)發(fā)電流值、觸發(fā)角、同步信號周期以及脈沖寬度等參數(shù)發(fā)送給各功率柜。功率柜則將各柜的輸出電流值、導(dǎo)通監(jiān)視結(jié)果、柜內(nèi)各點(diǎn)溫度反饋回調(diào)節(jié)器。
5 結(jié)束語
由于C8051F060的高集成度,因而只需少量外圍測量電路便可組成集控制與通信功能于一體的單片系統(tǒng),同時可提高系統(tǒng)的整體可靠性。另外,C8051F060內(nèi)核與普通51系列兼容,且指令簡單易學(xué),因此,可縮短系統(tǒng)開發(fā)周期。本系統(tǒng)由帶屏蔽層的雙絞線構(gòu)成通信介質(zhì),最大通信距離不超過150米,通信速率可達(dá)250kbps。實(shí)際運(yùn)行證明:通信效果很好。由此可見:本控制方案集成度高、硬件簡單、工作可靠,具有很好的推廣價值。
評論