接修一台博尚BS-ABS666N标清定位型户户通接收机,开机收看几分钟后便弹出“位置锁定模块异常1"对话框,无法正常收看。拆机,发现该机使用早期一代签名的IMEI码QW300模块,如图1所示。

     查资料得知模块⑤、⑥脚为VBAT PA供电端,测量其电压为正常值4.0V,再测量模块与主芯片通信的24 (U0TXD)、25脚(U0RXD)电压约为0V。手摸模块发热严重,很明显该位置锁定模块已损坏。

     开机后,主芯片向位置锁定模块发送AT指令,位置锁定模块接到指令向主芯片发送模块版本号、串号和基站信息及签名数据。若主芯片没有收到位置锁定模块的应答回信,则提示“位置锁定模块异常I";若位置锁定模块与主芯片通信时签名校验没有通过,则提示“位置锁定模块异常2”;若位置锁定模块发送给主芯片的自身串号跟智能卡中存储的模块串号不一致,则提示“位置锁定模块异常3”,即所谓的机卡不一致;若位置锁定模块空中升级失败,则提示“位置锁定模块异常4”;若位置锁定模块发送给主芯片的基站信息跟智能卡中存储的基站信息不一致,则提示“位置改变”。考虑到返厂更换模块周期太长,因此笔者购入M3小板来替换原机位置锁定模块。

     M3小板主要由单片机(MCU )GD32F1308P6组成。该单片机是基于ARM Cortex- -M3内核的32位通用MCU产品,主频为48MHz,片内闪存为64kB ,SRAM为8kB,供电范围为2.6V-3.6V,内核供电电压为1.2V,IO口可承受5V电压,内嵌实时时钟( RTC)和2个看门狗,具有掉电复位、上电复位及电压监测功能等,采用TTSOP20封装形式。

     M3小板实质就是模拟位置锁定模块向主芯片发送相关信息,因不同的户户通接收机内部位置锁定模块具有不同的版本号、串号以及使用者不同的地理位置信息,所以使用M3小板之前需写入这些信息。另外,因M3小板已写入了多套签名程序,,所以新老签名的接收机都可以使用。M3小板引脚定义如图2所示。

     在写入基站、模块串号等数据时,将TX端与刷机小板(即USB转TTL小板)RX端连接,RX2端与刷机小板TX端连接,Vcc和Gnd分别接至刷机小板对应的Vcc和Gnd上。须注意的是,刷机小板Vcc有5V与3.3V之分,要正确设置好跳线帽以免烧坏M3小板。把USB转TTL刷机板插入电脑任一USB接口,打开设备管理器记住COM端口号,比如"COM3”,双击运行卖家提供的“M3维修小板写号写基站工具”软件,打开登录界面并输入卖家客服提供的用户名和密码(电脑需联网),进入工具软件界面后先进行相关设置,串口号选择之前要求记住COM端口,选择正确的位置锁定模块版本号(若版本号下拉菜单中没有,则可以手工输入),并填写模块串号。接下来写入从智能卡中得到的基站数据,运营商一般是中国联通或中国移动。位置区域码可以随便写,只要是十六进制数据即可,小区识别码一定要填写从智能卡中得到的相关数据,最多可以写10个,最少也得填写1个,如图3所示,最后点击“写入数据”按钮,若弹出“写入数据成功”,如图4所示,表明操作成功,这时将M3小板与刷机板断开;如果提示失败,则检查端口设置和接线是否正确。拆除原来的模块(也可以断开原来模块的供电),根据模块引脚定义找到模块与主芯片通信的RX和TX脚位,然后把M3小板的RX、TX引线焊到对应点上。M3小板vCC接至主板上的3.3V供电处(一般均是LDO芯片1117 -3.3中间引脚),M3小板地线接至主板任意GND处。共计要接4根引线,并找一个合适的位置固定好,如图5所示。

      M3小板与QW300模块.QW200模块(两边)、QW200模块(四边)、有方D122模块及天喻模块接线分别如图6~图10所示。由于更换了位置锁定模块,开机后通常会出现“异常2"提示,这时需先清除主板上24C128里面数据,再用白卡(未开户的卡或二代机卡)做引导触发程序重新在24C128里“埋种”即可,这个操作过程被称为“一清二白”。具体方法如下:先用风枪拆下主板上的24C128,利用转接板与常用的CH431编程器连接,再打开编程器软件执行清除命令,如图11所示。

      接下来将24C128装回主板,插入白卡开机,提示“模块准备成功”,如图12所示。关机插入原卡,接上室外单元开机即可。另外,市面上还有一种SOP8烧录夹,利用它可省去拆芯片的麻烦,有兴趣的朋友可以自己试试。

      获取位置锁定模块串号(即IMEIALLMI码)、版本号及基站信息的说明:位置锁定模块串号可以从贴着的标签上直接得到,参见图1中第三行数字,也可进入系统设置,查询CA信息中存储的模块串号和基站信息,如图13所示。

      其中,模块串号为十六进制,借助转换软件或在线网站将其转换成十进制,如图14所示。基站信息不用转换。位置锁定模块版本号可以从系统设置项里的版本信息里查询到,如图15所示。若模块损坏无法读出版本号,则只能通过对比模块外形来识别,对于早期老模块可以统一填写为“11010007"。