S3CDV3.0调试总结

调试总结:

1、LM317反馈电阻的选择,当输出较小的时候不能忽略IAdj,反馈电阻的精度也对输出电压有影响。

2、模块下面不能有电源过孔,因为许多模块底面为地,主要是为了避免短路。

3、LM317手册上说可以进行36v到3.3v的转换,但在实际使用的时候由于核心板消耗的电流比较大,按照0.1A来计算,LM317上的功耗为(36-3.3)X0.1=3.27W,LM317很快就发热,然后进入保护状态,因此根本不能用。

4、基于上面第3点,因此使用DC-DC芯片mc3063A来进行36V到5V的降压,然后再用5V通过LM317来转换为系统需要的电压。在搭建下面电路进行DCDC转换电路设计测试的时候遇到两个问题:最初是3.3V没有输出来,因为地线没有接好;地回路接好后3.3v有输出但是带负载能力很弱,而且测试5v输出怎么都不成功,设计5v的输出始终只有二点几伏左右,而且输出电压上升很缓慢,最后发现是芯片输入总线的Rsc电阻推荐的0.33欧错误的使用了330欧的电阻,限制了电流,因此DC-DC要么输出不对,要么带载能力很弱。

5、Mbus总线采样电路做了大的改变,将原来上行电流调制电路通过在41欧电阻上引起电压的变化,然后通过比较器进行比较解调出数据这部分电路修改为:通过tl6106芯片将调制电流转换为电压,然后通过比较器进行比较解调出数据。这样做的好处是当负责电流大的时候,总线上的电压不会有太大的下降;而之前采用电阻的方式,负载电流会在41欧电阻上有一个大的压降,会导致总线电压下降,其结果是可能引起模块表具水量不能抄读。

6、Mbus总线上分布电容引起电压调制波形下降沿延迟,引起表具端波特率识别错误,导致通信异常。以前的设计中在电压调制的时候是用串口的TX引脚控制PMOS管进行电压调制,PMOS管型号为BSP250,当时没有发现什么问题,通信比较顺利;后来将PMOS管换为IRFR5305,发现有的表具能通信有的不能通信,当然表具端的实现是有差异的,一种是通过通信芯片采用查询方式来识别波特率,另外一种是采用分离元件搭建的通信电路,程序中采用中断方式来识别波特率进行通信。通过示波器抓取TX引脚输出的波形和PMOS管输出的波形如下:

可以看到PMOS管的输出波形下降沿跟TX管脚的输出波形下降沿有90us的误差,而波形的上升沿基本一致;这说明PMOS管输出容抗比较大,导致波形有异变,导致通信失败。通过换输出容抗比较小的PMOS管,调节gs端的电阻(增加s端到地的电流,从而快速消耗掉输出容抗存储的电压,但需要注意gs端电阻的功率满足电流要求),可以将PMOS管的输出容抗影响减到最小。下面的波形是调整后的,这样对两种表具的抄读都很正常:

可以看到将PMOS管的输出波形下降沿跟TX管脚的输出波形下降沿误差减小到小于19us,如果从下降沿的中间算的话只有几个微秒的误差,这样跟标准串口的波特率比较偏差就很小了。下面是两种PMOS管的输出容抗,可以看到IRFR5305的输出容抗是BSP250的好几倍。

7、在进行RS485调试的时候发现只能接收数据不能发送数据,但通过调试串口的打印输出发现数据是发送完成了的;后面通过示波器抓取波形发现,是由于RS485的发送使能被禁用了。由于RS485通信是半双工的,在发送数据还没有完成的时候,发送使能端被另外一个任务设置为接收使能,因此导致数据发送不完全,程序上应该对发送使能端在两个任务间进行信号量保护。

8、在调试通信子板的时候发现核心板通过cp2102下发的at指令,通信子板没有应答,但通信子板有信息上报;把通信子板单独通过usb转串口线进行调试发现通信子板能正常通信;用示波器分析发现是主板给通信子板提供的4V电压在通信的过程中被拉低到3v以下导致通信板工作不正常,暂时用一个1.5F的电容可以解决这个问题,后面设计中会单独用一个DCDC给通信子板提供电源。

9、同样是由于DCDC输出不足导致核心板重启;在增加了给cp2102供电的电路后(入下图)发现在上电的时候核心板不断重启,通过抓取VD20的波形和R461上端的波形发现在上电的过程中有脉冲电压导致BSP250误打开;通过在R461旁边并联一个104的电容,可以防止bsp250的误打开,从而在上电的时候可以节省电流。

 

上图分别是没有加滤波电容和加了滤波电容的波形。

S3CDV4.0调试

1、采用分模块的结构,分为母版、核心板、人机接口板、电源板、通信板、Mbus总线板。

2、调试的问题:

1、人机接口板DB9串口pcb放返了。

2、电源板上用的DC-DC降压芯片,使用了外部接NPN三级管增强电路输出电流大于1.5安,由于选择的NPN三级管功率较小,因此三极管被烧坏了,后面将三极管去掉,如果希望输出电流大于1.5安要选择功率型三极管。在这个烧坏的过程中导致后端的核心板usb0接口烧坏、cp2102芯片烧坏、与cp2102 RX/TX相连接的Sim7600CE的RX引脚烧坏(7600不能接收at命令,但能输出信息)

3、调试过程中一进行水量的读取就导致核心板复位,一开始怀疑是由于电源适配器的输出电流不足导致复位,后面将36v1.5A的输出换为36v3A的输出,仍然在mbus总线一上电就导致核心板复位,从理论上分析,在PMOS开关打开的时候对C6电容有充电电流,根据公式I=Cdu/dt可以看出在很短的时间里面对电容有一个大的充电电流,比如选择dt=0.01秒即10毫秒,C=100uf,u=36V,则充电电流I=100X10ˉ₆X36/0.01=360ma电流;如果dt=1毫秒,则I=3.6A;所以将C6电容去掉,这样就正常工作了。

也可以设计个电路在给C6电容充电的瞬间进行限流充电,等C6充满电的时候再切换到正常充电电路,类似于我们阀控表的开关阀电路。 如下图,FM_power1和FM_power2组合来进行控制。

4、LDO有点发热问题

目前核心板电源是通过5v到3.3v的LDO提供的,由于核心板功耗比较大,因此LDO有明显发热,这需要做好散热设计;除此之外还可以在5v和3.3vLDO之间增加一个功率型二极管,可以减小LDO输入输出间的压差,用来分担LDO的发热,具体使用效果需要进一步测试。

LDO并联二极管的作用:这个功能主要是输入端电压跌落欠落或掉电后确保输出残余电压泄放回路, 其次是输出端遇有高压电涌可以通过反向二极管回路利用输入滤波电容增大滤波效果,抑制瞬态冲击。

LDO的输入和输出电压都是相对于本芯片的地引脚来说的,如果将本芯片的地引脚连接两个稳压二极管,类似于下面的图3-8发送电路,则地电压升高,输入电压相对于芯片来说是降低的,这样可以减小LDO的功率损耗,减小LDO的发热,有利于电路设计。比如,L7808 LDO输入为36v,将LDO地引脚通过输出引脚连接一个反馈限流电阻后,再通过两个13v稳压二极管(稳压二级管的最小稳压电流可以查询二极管数据手册的反向漏电流,反向漏电流就是最小稳压电流)接到pcb板公共地,这样对于L7808来说就相对于输入为36-23=13v,输出为8v,压损为13-8=5v,这样就极大的降低了L7808的功率损耗,有利于电路的散热设计。

5、关于接收电路的设计问题

各个厂家对于接收电路的设计各有不同,但总体上来说都差别不大,都是将电流的变化转化为电压的变化,然后通过比较器来识别出信号。其中关键点是比较器负端RC电路的参数选择,如果选择不合理识别出来的数据就会出错,下面电路从理论上对参数的选择进行详细的说明:

我的电路仿真:

 

假设:U=2.4v,UL=0.2v,UH=1.4v

本电路电容直接连接到总线,再接收数据前电容已经充满电,初始充电时间基本为0;而充电电阻很小,下面计算假设为100k,实际电阻基本为0,可以认为瞬间充满电。

T充电=T*㏑((U-UL)/(U-UH))=100*1000*11*10-6*ln(2.2/1.0)= 0.867s

T放电=T*ln(UH/(UH-UL))=5000*1000*11*10-6*ln(1.4/1.2)=8.478s
此放电时间是假设放电到最低电压,如果按照2400的波特率,一个周期约为417us,假如一个帧的数据全为0,也就是11bit,最长放电时间为4.17ms,比较器负端电压基本没有多数损失。
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值