MH32F103A系列微控制器基本兼容SXX32F103系列,同時強化許多功能,有些許地方與SXX32F103不同,詳述于本文檔。
1. 快速替換SXX32F103 芯片
l 步驟一:比對外設(shè)規(guī)格、Flash容量、SRAM容量等,解焊SXX32F103,換成MH32F103A對應(yīng)型號
l 步驟二:使用ISP或KEIL,下載SXX32F103 HEX文件或BIN文件。
l 步驟三:如果有需要, 下載SXX32F103 HEX文件或BIN文件以外的資料或進行系統(tǒng)校正。
l 步驟四:查看程序能否正常運行。
l 步驟五:其他問題快速排查請參考2外設(shè)使用區(qū)別。
l 步驟六:如果經(jīng)過上述步驟后程序仍無法正常運行, 請參考本文件其他章節(jié), 或連絡(luò)代理商及MH支持人員協(xié)助解決。
2. MH32F103A 外設(shè)使用差別
2.1 系統(tǒng)功能
BOOT1 管腳使用差異
l 描述:
當BOOT1 懸空時
SXX32F103:識別為高,但是抗干擾能力較弱,容易被外界環(huán)境干擾MH32F103A:為浮空狀態(tài),建議外部固定為高/低
2.2 ADC
ADC 配置連續(xù)觸發(fā)后,關(guān)閉 ADON 或者進行ADC 軟復(fù)位,ADC 轉(zhuǎn)化差異
l 描述:
SXX32F103:關(guān)閉ADON 或者進行ADC 軟復(fù)位,ADC 轉(zhuǎn)換停止MH32F103A:
1. 關(guān)閉ADON,ADC 連續(xù)轉(zhuǎn)化未停止
2. 進行ADC 軟復(fù)位,ADC 轉(zhuǎn)換停止,再次啟動轉(zhuǎn)換,前幾個量化值異常
l 解決方法:
1. 軟件關(guān)ADON 之前,將連續(xù)轉(zhuǎn)換配置為單次轉(zhuǎn)換,再關(guān)閉ADON
2. 連續(xù)轉(zhuǎn)化過程中,進行ADC 軟復(fù)位后,再次啟動需要等待上一次采樣周期個ADC_CLK
2.3 TIM
通用定時器TIM2-TIM5 的Channel3 差異
l 描述:
SXX32F103:通用定時器TIM2-TIM5 的Channel3 支持輸入、輸出功能MH32F103A:通用定時器TIM2-TIM5 的Channel3 只支持輸入功能
l 解決方法:
選擇TIM2-TIM5 的其他通道,或者選擇其他 TIM 的通道進行輸出使用
TIM2 重映射差異
l 描述:
當TIM2_REMAP[1:0] = 01
SXX32F103: TIM2_CH1_ETH - PA15;TIM2_CH2 – PB3 MH32F103A: TIM2_CH1_ETH – PA0;TIM2_CH2 – PA1 當TIM2_REMAP[1:0] = 10
SXX32F103: TIM2_CH1_ETH – PA0;TIM2_CH2 – PA1 MH32F103A: TIM2_CH1_ETH – PA15;TIM2_CH2 – PB3
l 解決方法:
使用TIM2 重映射,注意IO 配置的修改
TIM 使用外部信號剎車,連續(xù)兩次剎車的時間間隔小于一個 TIM 時鐘周期時,現(xiàn)象差異
l 描述:
SXX32F103:剎車標志正常置位,正常清除
MH32F103A:剎車標志正常置位,BIF 清除不掉、剎車中斷清除不掉
l 解決方法:
1. 軟件配置剎車信號為普通輸入IO 中斷,不使用BIF 和剎車中斷
2. 在BIF 置位或者剎車中斷中,進行軟復(fù)位
2.4 CAN
CAN 發(fā)送時間戳?xí)r,時間戳填充報文的位置差異
l 描述:
CAN 配置時間觸發(fā)通訊模式,在最后2 個數(shù)據(jù)字節(jié)發(fā)送時間戳?xí)rSXX32F103:時間戳[7:0]在數(shù)據(jù)包的 8Byte,時間戳[15:8]在數(shù)據(jù)包的 7Byte MH32F103A:時間戳[7:0]在數(shù)據(jù)包的 7Byte,時間戳[15:8]在數(shù)據(jù)包的 8Byte
l 解決方法:
其他CAN 節(jié)點使用接受到的時間戳?xí)r,軟件進行翻轉(zhuǎn)
2.5 FSMC
異步NOR Flash、PSRAM 和NAND Flash 硬件NWAIT 信號差異
l 描述:
SXX32F103:支持硬件解析NWAIT 信號MH32F103A:不支持硬件解析NWAIT 信號
l 解決方法:
軟件判斷NWAIT 信號
PC 卡控制器差異
l 描述:
SXX32F103:支持PC 卡
MH32F103A:不支持PC 卡