新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機C8051F060的智能功率柜的設計應用

        基于單片機C8051F060的智能功率柜的設計應用

        作者: 時間:2011-12-14 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/172339.htm

        C8051F060中Flash的0X0000~0X007F地址范圍既可用于片內64kB Flash,也可用于附加的128B的扇區,這可通過設置PSCTL寄存器的SFLE位來實現。由于片內Flash必須先擦除再寫入,而且應當以512B為一扇區進行,故附加的128B的扇區更適合用作非易失性數據的存儲。在柜中,通常需要在線修改的參數為PI調節器的P和I,下面以KEIL C語句為例給出在線修改參數的程序:

        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扇區擦除

        PSCTL|=0X05 //允許Flash扇區寫

        pwrite=0x0000 0x0000指向128B扇區

        *pwrite=0 //擦除Flash

        PSCTL&=~0X02 //禁止擦除Flash

        fori=0i<2i++  //將P和I參數寫入

        *pwrite++=PIi

        PSCTL&=~0x01 //禁止寫Flash

        pread=0x0000 //讀入當前值

        fori1=0i1<2i1++ 

        PIi1=*pread++

        4 CAN總線在勵磁裝置中的

        CAN總線是主要的現場總線之一。由于其低廉的開發費用、良好的抗干擾能力,CAN總線在工業測控領域得到了廣泛。關于CAN總線的基本概念和接口電路,其相關內容較多,本文只介紹如何用C8051F060實現CAN總線通信的方法。

        4.1 C8051F060的CAN控制器結構

        圖4給出了C8051F060的內部CAN結構圖,由于MCU不能直接訪問信息RAM,因此,必須通過IF寄存器與信息RAM交換數據。信息RAM共可存儲32幀信息。而IF寄存器則分為IF1和IF2兩組,以分別定義為接受、發送功能,IF的CommandRequest寄存器可用于定義訪問32幀信息的哪一幀,CommandMask則用于定義將一幀信息的哪一部分傳到信息RAM中。

        當中斷寄存器IR為0x0000時,表示沒有中斷發生;當其為0x0001~0x0020時,表示32幀信息的哪一幀引起中斷,而當其為0x8000時,則表示狀態改變(發送完成、接收完成、錯誤狀態等)引起中斷。

        4.2 CAN通信

        通信的初始化過程與其它CAN控制器類似,圖5給出了其發送、信息RAM與IF通信和接收中斷子程序的框圖。

        4.3 CAN總線在柜中的

        CAN通信系統由四個節點組成,其中包括一個調節器和三個柜。功率柜由C8051F060完成通信功能,調節器由集成了CAN協議的網卡HT-1302B負責通信。調節器可將單柜應發電流值、觸發角、同步信號周期以及脈沖寬度等參數發送給各功率柜。功率柜則將各柜的輸出電流值、導通監視結果、柜內各點溫度反饋回調節器。

        5 結束語

        由于C8051F060的高集成度,因而只需少量外圍測量電路便可組成集控制與通信功能于一體的單片系統,同時可提高系統的整體可靠性。另外,C8051F060內核與普通51系列兼容,且指令簡單易學,因此,可縮短系統開發周期。本系統由帶屏蔽層的雙絞線構成通信介質,最大通信距離不超過150米,通信速率可達250kbps。實際運行證明:通信效果很好。由此可見:本控制方案集成度高、硬件簡單、工作可靠,具有很好的推廣價值。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀宁县| 潍坊市| 长治市| 睢宁县| 江源县| 安丘市| 陕西省| 五原县| 明溪县| 阳泉市| 鄱阳县| 钦州市| 宁蒗| 司法| 偏关县| 荃湾区| 泉州市| 山阴县| 连南| 天等县| 湘潭县| 福鼎市| 长丰县| 成安县| 隆安县| 萝北县| 炉霍县| 龙泉市| 岳普湖县| 双流县| 东城区| 沾化县| 平乡县| 田林县| 伊宁县| 铁力市| 获嘉县| 宝兴县| 阿合奇县| 朝阳市| 金华市|