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