一般芯片厂商会提供DEMO板供设计参考,但DEMO就是DEMO,不能用于量产,切记,切记!
真实波形的边沿不能象时序图里画的那么陡峭。因为越是陡峭的边沿,频谱范围越大,旁瓣越多,而我们需要的往往只是某个频点。如果波形接近于正弦波,那么信号就比较“干净”。
分析时序最好有例子,我推荐PCI和DDR(I、II)时序图。这些图够复杂,够先进,代表目前的趋势。PCI支持软件配置,有局部总线、接口总线、DMA、突发、总线仲裁等等,比较全面。DDR现在又降价了,迟早要取代SDRAM,估计也就1年左右时间。
找到芯片数据手册就可以得到时序图。
--------
|寄存器|
--------
寄存器大致可以分为控制、数据、状态三种。其实就是硬件里的D触发器外接三态总线。硬件上关心的就是地址偏移,方向(只读、只写、读写),工作原理。这样就可以分配地址空间,对应GPIO连接,实现硬件时序。其实,寄存器更重要的意义是提供硬件和软件的接口。软件通过寄存器操作硬件,硬件通过寄存器给软件提供信息。一般地,一组寄存器对应一个协议,可以通过协议了解寄存器功能,通过寄存器了解协议细节,互相对照,学习效率高。
------
|协议|
------
目前协议非常多,PCI、USB、I2C、ST-BUS、E1、802.3等等,了解每一种协议都要花费大量时间,我建议每次了解一点,积少成多。
通常协议代表了行业标准,设计时应尽量向标准靠拢。这样在套片选型时会拥有很大的成本优势。
总之,协议是硬件的抽象,硬件是协议的具体实现。
------
|现状|
------
以前,人们常说做硬件要动手能力强,现在看来似乎已经不正确了。原来焊接DIP器件,手工操作就可以了,现在的BGA,谁还能用手焊,即使可以,谁能保证质量,尤其在量产的时候。原来的板子要求3版成功,一版原型,一版修改,一版定型。现在要求一版成功,纸上作业,在制板前解决所有问题。想想也是,一块 16层2.5G背板,如何飞线?如何割线?如何手工焊接?飞线肯定不行,频率那么高,而且走线在内部,根本没有办法。即使可以飞,高频特性也会变化,无法给以后的修改提供依据。割线也不成,找不到合适位置钻孔。手工焊接达不到质量要求。综上,一旦发现错误,最好就地销毁,眼不见心不烦。
目前的现状是:原理图、PCB图均在计算机上完成,FPGA用HDL语言,仿真用软件,焊接用贴片机编程实现。几乎没有什么可以动手的地方了。另外CPU正朝多核方向发展,RISC比CISC更有前途(CISC的发热量大的问题在没有技术突破前无法解决,光看频率没用,过热时CPU会偷偷降频。)。
*************************
* (6) UART串口硬件分析 *
*************************
引脚分析:
9根标准的接口线dtr,dsr,rts,cts,dcd,gnd,rxd,txd,ri
4根地址线a0,a1,a2,cs
7根数据线d0-d7
3根控制线rw,strobe,reset
1根时钟线clk
1根状态线int
时序分析:
将数据位16等分,在7,8,9三个等分点采样,三中取二。数据位的中点在第8等分点上,在中点附近采样可以保证左右各有50%时钟抖动裕量,这是抵御时钟抖动误差最有效的措施。可以根据此裕量推算出经过若干位误差累积后,采样仍然正确时所允许的时钟精度。除了时钟抖动,在信号电平幅度上也会产生加性干扰,导致采样错误。利用三中取二的投票方法,可以避免瞬间的冲击干扰。因此,串口波特率是输入时钟的十六分频。波特率越高,对时钟精度要求就越高,抗瞬态干扰就越不容易。
串并/并串电路使用移位寄存器实现,低位先处理。
寄存器分析
寄存器的设计符合16C550工业标准,地址分配完全一样,寄存器内容有微小差异。
标准定义了16个寄存器,使用a0-a2和DLAB及rw进行区分。当a0接到16位单片机的A1脚时(16位机没有A0),需要将偏址乘2。
FIFO 寄存器的引入提高了传输效率,先积攒一下数据再处理的方式减少了中断次数。为了避免处理器不能及时处理输入数据,FIFO一般提供1字节,1/4满,半满,3/4满,满等触发点,使得CPU可以提前处理数据。为了避免输入数据达不到触发点而长时间等待,在4个字符时间内若没有RxFIFO操作将引发 CTI中断。这样CPU就能比较完美地使用FIFO处理数据了。
***************************
* (6) 芯片选型和电路设计 *
***************************
芯片选型很重要,需要仔细考虑。原则是:质量好(选名牌)、成本低(综合成本低)、安全(不停产/替代品多)。
芯片型号的细小差别要特别小心。譬如:量产20K时发现一半板子正常,一半不正常。经查发现库房因为缺货将74LV244换成74HLV244,只差一个字,H是保持的意思,上电时将随机状态锁存,导致网络处理器初始化混乱,损失惨重!
对于232驱动芯片,可选AD、MAXIM和SIPEX,毕竟AD、MAXIM在模拟方面还是有比较多经验的,值得信赖。
速率选择支持115200即120KBPS,太高了也没用还贵。
DTE设备232口有5个入,3个出,232电平在+-12V。一般这种驱动芯片采用电荷泵技术,驱动能力弱,就不考虑从上面窃电了。
232接口属于易损部件,有些型号里有静电泻放电路,可以抵抗较高的冲击电压,尽量选择抗高压的型号,以后维护时就不至于疲于奔命了。
低功耗暂不考虑。
参考:SP3243E,引脚悬空时,下拉电阻使其ON(有效)。
因为MODEM串口速率不是很高,布线时只要不杂不漏(不多连也不少连)地将其一一对应连接即可。需要注意的是,规范要求DTE设备用公的接口座,DCE设备用母的接口座。
答 4:
谢谢我现在的设备已经预留了232接口,设备要求只要发生报警后拨通电话放声音即可,唉,要是不行又要改电路了
答 5:
那用串口加io口行不行微控制器拨号上网的实现
文章作者:黄承安 张 跃
http://www.xunpeng.com/design%5Cdial.asp
1 硬件连接与底层驱动
微控制器拨号上网解决方案中的硬件连接非常简单,只需使用微控制器的标准串行口和I/O总线与MODEM相连。为了使程序更为简化,在硬件设计中可以不使用 MODEM的硬件握手信号。最终只需四根连接线来控制MODEM(如图1所示):串口发送(TXD)、串口接收(RXD)、载波检测CD(Carrier Detect)和终端准备DTR(Data Aerminal Ready)信号。CD信号可以检测MODEM是处于数据传送状态还是AT命令传送状态。DRT信号用来通知MODEM传送工作已经结束。微控制器的串行口和I/O口不能直接与标准MODEM相连,需要使用电压转换芯片,如MAX232等,转换为RS232标准。
