您当前的位置:五五电子网电子知识电子知识资料机器人-智能车具有学习功能的遥控机器人编码芯片的ASIC设计 正文
具有学习功能的遥控机器人编码芯片的ASIC设计

具有学习功能的遥控机器人编码芯片的ASIC设计

点击数:7498 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   机器人-智能车

     ASIC是根据某一特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC按照设计方法的不同可分为全定制ASIC,半定制ASIC和可编程ASIC(也称为可编程逻辑器件)。本文所设计的遥控机器人编码芯片是全定制ASIC芯片,先要定义编码芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家掩膜制造完成[1][2]。设计的编码ASIC提高了遥控机器人的性能,由于采用了脉冲宽度调制技术(PWM),解决了同类芯片电路中的码间干扰,增强了系统工作的稳定性,提高了安全性[3][4]。该芯片采用N阱0.5 ?滋m硅栅工艺,采用手工双层金属布线,工艺成熟、稳定可靠,芯片的面积利用率高、速度快、功耗低。
    1 芯片功能定义
   在无线遥控系统领域里,编码芯片和解码芯片分别完成信号的功能编码和解码,并驱动相应的控制功能。本文设计的遥控机器人编码芯片管脚应用分布如图1所示。设计的编码芯片需完成地址码学习请求和相应的8个控制功能的编码和发送,当STUDY键按下时,编码芯片输出端(DO)迅速发送地址码学习请求信号,当STUDY松开时,且有控制功能键按下时,编码芯片输出端(DO)就会发送对应的8 bit控制功能请求信号,这8个控制功能信号包括:向前(FORWARD)、向后(BACKWARD)、加速(TURBO)、向右(RIGHT)、向左(LEFT)、附加功能1(FUNCTION1)、附加功能2(FUNCTION2)、附加功能3(FUNCTION3)。FORWARD、BACKWARD、TURBO、RIGHT、LEFT控制解码芯片所属载体的基本控制动作,附加功能1~附加功能3可以用作功能拓展,例如机器人的前后灯亮灭控制,轮子自动收起等,相应可以扩展出多种实际应用。基于以上基本设想可确定芯片应具有的基本输入输出:1个清零控制端RESET;1个地址码学习请求输入STUDY,用于地址码学习功能请求,相对于其他请求功能,它具有最高优先权。8个控制功能输入:向前(FORWARD)、向后(BACKWARD)、加速(TURBO)、向右(RIGHT)、向左(LEFT)、附加功能1(FUNCTION1)、附加功能2(FUNCTION2)、附加功能3(FUNCTION3),用以确定控制功能信号;1个工作状态输出端LO,外接一个发光管用于表示编码芯片是否处于工作状态;1个帧信号发送端DO;另外内部振荡电路需要外接大电阻,需要设置振荡输入和输出管脚OSCI、OSCO用于外接大阻值电阻,或接可变电阻,用来进行系统频率的调节;电源VDD,地VSS,确定以后的遥控编码芯片外部管脚及对应功能见表1。

    2 信号的帧结构
   遥控机器人编码芯片的帧结构如图2所示,它由同步码、16位地址码、2位状态码、8位功能码、奇偶校验码及结束位32个码元构成,设计中的基带码型以脉冲宽度调制(PWM)技术采用占空比3/4的矩形脉冲表示“1”,占空比1/4的矩形脉冲表示“0”(图3)。帧同步码是一个帧周期信号的标志,帧同步位为“1110”; 帧结构中有16位地址位,在地址码学习的过程中,编码芯片向解码芯片发送具有地址码学习请求功能信号,其中有16位地址码为编码芯片所要求解码芯片学习的地址码[5]。当地址码学习成功后,编码芯片向解码芯片发送具有控制功能的请求信号,其中的16位地址码必须与解码芯片学习后的地址码进行判断,如果相同,就进行相应的控制功能驱动,否则将此控制功能请求信号作无效信号处理。状态位X1,X2分别为“01”和“11”时表示地址码学习请求和控制功能驱动请求。帧结构中设置的功能位对应遥控机器人的8个控制功能:向前(FORWARD)、向后(BACKWARD)、加速(TURBO)、向右(RIGHT)、向左(LEFT)、附加功能1(FUNC-TION1)、附加功能2(FUNCTION2)、附加功能3(FUNCTION3),并按照以上顺序排列。另外,当状态为地址码学习请求时,该8位功能码必须全为零。当状态为控制功能请求时,功能码自身必须具有一定的互斥性。例如,控制功能不能出现同时向左向右或同时向前向后,如果出现这种情况,则认为出现编码出错,解码部分将会丢弃该帧,这是符合实际情况的。因此在解码芯片电路设计中,分别增加了地址码学习时功能数据检测位电路和控制功能驱动时功能数据检测电路。奇偶校验位采用偶校验方式,对功能数据位进行校验,当功能数据位出现偶数个有效位(高电位“1”)时,校验位为低电位“0”;当功能数据位出现奇数个有效位时,校验位为高电平“1”,奇偶校验位为帧中第31位。结束位为一位高电位“1”,表示一帧的结束,未检测到结束位时同样丢弃该帧。

    3 编码芯片设计
   遥控机器人编码芯片由振荡电路、时序产生电路、按键防抖动电路、上电复位电路(包含移位计数和状态机电路、控制功能信号的锁存电路、地址码学习请求信号输出电路、控制功能请求输出电路)、位同步输出电路等模块构成。编码系统框图如图4所示。编码芯片模块主要有两大功能,功能一:发送地址码请求信号,为了使编码芯片与相应的解码芯片形成一一对称的地址码学习关系,首先保证解码芯片是在地址码学习允许的情况下(SRC按下),然后按下地址码学习请求按键STUDY,编码芯片输出端DO就会输出地址学习请求功能的32帧周期信号“11101010101010101010010000000001”的编码信号“1110-1110-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1000-1110-1000-1000-1000-1000-1000-1000-1000-1000-1000-1110”,解码芯片接收到请求信号后进行解码,然后进行检测和判断,再进行地址码学习,将解码芯片的16位地址锁存器固定为“1010101010101010”。功能二:地址码学习成功之后,分别松开SRC和STUDY按键,根据需要输入8位控制功能信号,编码芯片将功能控制帧周期信号进行编码,然后再输出,发送给解码芯片,解码芯片再进行解码驱动相应的控制功能。如果无任何输入状态,编码芯片输出零信号的编码信号。其整个流程如图5所示。最后编码系统完成由地址码学习请求和控制功能请求信号的编码发送。



www.55dianzi.com

    4 各模块电路设计和功能仿真
   根据遥控机器人编码模块总体设计框图,在QUARTus II环境下,使用硬件描述语言Verilog-HDL及原理图对整个编码系统各模块进行行为级描述,最后通过Synplify软件对硬件描述语言Verilog -HDL进行综合,得到门级电路。图6为编码系统的核心顶层模块组合,其中fangdd为按键输入信号防抖动模块,clk_div128k为分频模块,为系统提供频 率为2 kHz的时钟;fenPIN_count是四进制加法计数器和clk_2k的四分频模块;send1是请求信号的位同步模块,其同步频率为512 Hz,位同步信号以帧周期形式输出, code1_4是帧周期信号的码元编码模块,将原代码编码成适合信道中传输和接收的基带信号。


   完成编码芯片各模块的行为级描述之后,进行功能仿真验证。首先按下reset键复位清零,使芯片中所有的寄存器和锁存器置零,然后发送一个地址码学习请求信号(study键按下,相对于控制功能请求来说,具有更高的优先级),此时send1模块判断信号为地址码学习请求,然后send1的输出端输出具有学习请求功能的帧周期信号“1-1-1-0-1-0-1-0-1-0-1-0-1-0-1-0-1-0-1-0-0-1-0-0-0-0-0-0-0-0-0-1”。其中前4位“1-1-1-0”为帧头信号;第5位至第20位为发送出去的16位地址码;第21位和第22位为请求状态位,“01”表示地址码学习请求,“11”表示功能控制请求,此时为地址码学习请求状态,即为“01”;第23位至第30位为功能数据位,由于此时为地址码学习请求状态,故该8位功能数据位为零;第31位为奇偶校验位,是用于判断功能数据位的奇偶情况;第32位为结束位,是帧周期结束标志。然后经过code1-4模块进行码元编码输出,由仿真结果可知相应的码元为“1110-1110-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1000-1110-1000-1000-1000-1000-1000-1000-1000-1000-1000-1110”。随后在没有地址码学习请求时,输入控制功能信号,输出的帧周期信号与地址学习请求帧周期相同,不同之处是:其一,地址码与原来地址学习请求发送的地址码一模一样,它是用于与解码芯片学习后的地址码进行比较判断,并不是用于地址码学习之用;其二,功能数据位是相应的控制功能输入信号,并非全为零。此仿真过程中,输入了地址码学习请求、向右加速前进请求和向左后退请求,输出端口分别输出了相应的帧周期信号,达到了设计效果。

[1] [2]  下一页


本文关键字:机器人  机器人-智能车电子知识资料 - 机器人-智能车

《具有学习功能的遥控机器人编码芯片的ASIC设计》相关文章>>>