<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Freescale單片機(jī)在電池管理系統(tǒng)中的應(yīng)用

          Freescale單片機(jī)在電池管理系統(tǒng)中的應(yīng)用

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

          2.3 均衡模塊

            根據(jù)實(shí)時(shí)采集的數(shù)據(jù),當(dāng)系統(tǒng)認(rèn)為某一單體電壓BATn需要均衡時(shí),給出均衡控制信號EQ_CTRLn,光耦閉合,MOS管導(dǎo)通,均衡電路啟動(dòng),如圖6所示。

            

          均衡電路

            2.4 CAN通信模塊

            CAN通信是整車與BMS之間、BMS主控制模塊和子模塊之間的信息橋梁。子模塊將采集到的單體電壓和溫度值通過CAN總線上傳給主控模塊,主控模塊通過CAN總線給子模塊下達(dá)均衡命令;主控模塊將電池參數(shù)發(fā)送給整車,整車控制器通過判斷決策能量分配。 9S12系列單片機(jī)已經(jīng)集成CAN模塊MSCAN,外擴(kuò)引腳CANTX和CANRX。還需要PCA82C250來作為驅(qū)動(dòng)芯片,如圖7所示。

            

          Freescale單片機(jī)在電池管理系統(tǒng)中的應(yīng)用

            3 分布式系統(tǒng)的軟件設(shè)計(jì)

            系統(tǒng)軟件以CodeWarrior for HCS12V4.7為開發(fā)環(huán)境,采用C語言編寫,包括了主控制模塊和子模塊兩個(gè)部分的軟件設(shè)計(jì)。

            3.1 主控制模塊

            主控制模塊的任務(wù)主要有:A/D轉(zhuǎn)換與數(shù)據(jù)處理任務(wù)、整車CAN接收任務(wù)、整車CAN發(fā)送任務(wù)、系統(tǒng)監(jiān)控任務(wù)、SOC與能量估算任務(wù)以及均衡處理任務(wù)。中斷有:A/D采集中斷、定時(shí)器下溢中斷、CAN接收中斷。

            

          Freescale單片機(jī)在電池管理系統(tǒng)中的應(yīng)用

            如圖8所示,系統(tǒng)初始化工作完成后,軟件以模/數(shù)減法計(jì)數(shù)器的下溢中斷來確定系統(tǒng)的執(zhí)行周期,計(jì)數(shù)周期為5 ms。在模/數(shù)計(jì)數(shù)器前一次下溢中斷程序中,選擇電壓采集通道,并查詢整車CAN接收;經(jīng)5 ms在本次下溢中斷到來后,中斷服務(wù)程序進(jìn)行A/D轉(zhuǎn)換的啟動(dòng),轉(zhuǎn)換完成進(jìn)入A/D中斷,開啟其他任務(wù)的執(zhí)行,如此循環(huán)交替進(jìn)行。根據(jù)整車控制策略,CAN上的電池狀態(tài)數(shù)據(jù)每幀的刷新周期為10 ms,因此設(shè)置下溢中斷的時(shí)鐘節(jié)拍為5ms,相應(yīng)地,以上所有任務(wù)的執(zhí)行周期均為10 ms。



          關(guān)鍵詞: Freescale 電池管理

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();