任照富,曾昭源,陈钟
(重庆电力高等专科学校信息工程学院,重庆,400053)
目前市场上开发板所暴露的开发核心单一,如果用户想同时学习几款不同核心的开发就需要购买不同的开发板,购买了后用户还要花时间来熟悉外围的硬件电路,如果一旦出现问题后要是用户开发经验不够的话很难找到问题。如果用户自行购买核心板来自己搭建外围电路的话,对用户的入门要求较高,而且电路的稳定性也无法得到保障。
常见市面上的开发板切换所遇问题:
(1)单片机外设不熟悉,这种情况常出现在切换单片机开发板后不同厂家使用单片机外设的不同,使用者还需要去重新熟悉单片机外设电路,增加学习成本,对入门的门槛进一步提高。
(2)不同厂家所使用的芯片厂商不同,有时会出现细微的差别,如:DHT11 就有两个版本,-20~+60℃的版本和0~50℃的版本,两个版本采集的温度精度不同往往容易误导使用者,认为自己的代码书写有误或配置错误。
(3)市面上的开发板大多外设不一致,如果使用者要保持外设一致就只能使用只带单片机的最小系统板,外设就只能自己接线,这样的开发方式不可控的风险较大。
结合以上问题我们针对性的开发了一款可更换核心处理器的智能小车,切换结构采用简单快捷的金手指连接方式。智能小车核心板可单独作为开发板使用,也可以装上金手指母座后用排线进行外扩使用。
(1)51 单片机是对所有兼容Intel 8051 指令系统的单片机的统称。该系列单片机的始祖是Intel的8004 单片机,后来随着Flash rom 技术的发展,8004 单片机取得了长足的进展,成为应用最广泛的8 位单片机之一,其代表型号是ATMEL 公司的AT89 系列,它广泛应用于工业测控系统之中。很多公司都有51 系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51 单片机是基础入门的一个单片机,还是应用最广泛的一种。
(2)AVR 单片机是1997 年由ATMEL 公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8 位单片机。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR 单片机是 Atmel 公司 1997 年推出的 RISC 单片机。RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。
(3)ARM 单片机是以ARM 处理器为核心的一种单片微型计算机,是近年来随着电子设备智能化和网络化程度不断提高而出现的新兴产物。ARM 是一家微处理器设计公司的名称,ARM 既不生产芯片也不销售芯片,是专业从事技术研发和授权转让的公司,世界知名的半导体电子公司都与arm 建立了合作伙伴关系,包括国内许多公司也从arm 购买芯核技术用于设计专用芯片。ARM 单片机以其低功耗和高性价比的优势逐渐步入高端市场,成为了时下的主流产品。
整个系统分为核心载板资源与小车主体,载板资源包括最小系统、USB 转TTL、LED 等。基础部件学习用户可通过拨码开关自行调整是否使用核心载板资源,整块载板体积只有50mm×58mm的大小方便携带。
小车主体使用金手指卡槽与核心载板进行连接,使得小车主体拥有更好的兼容性。小车主体设计的有编码驱动电机、循迹板、拓展接口等部件,让小车在满足基础功能的同时有着更高的灵活性。
本产品底板采用DY-ITR9909 光电传感器作为循迹采集器,使用电机驱动芯片DRV8837DSGR 作为驱动器控制电机。使用NE555 对底板的时钟进行控制。使用SN74LS161ANSR 作为并型光电采集信号转串行采集信号的控制芯片,CD4051BM/TR 为执行部件,图1 所示智能小车底板系统结构图,图1 为可更换核心处理器的智能小车底板PCB。
图1 智能小车底板系统结构图
(1)NE555 时钟电路
该电路主要是用于给循迹电路产生扫描节拍时钟,可以通过调节变阻器来改变扫描的速率(一般常用10.45kHz)。调节变阻器时可用使用示波器探针去测量PCB 板上的CLK测试点,此时应该能看见一个正负半周都是50%的方波信号。电路原理图如图2 所示。
图2 NE555 时钟电路原理图
(2)循迹采样电路
采用红外对射二极管进行路面的颜色识别,利用颜色较深的颜色不易反射光线,颜色较浅的颜色易反射光线的原理来识别地面的颜色。当红外对射二极管检测到反射回来的光线(浅色)时其对应的输出引脚Yx(x 可以是0 到7)就会输出低电平,反之则是高电平。
(3)采样数据并转串/数据整形电路
利用CD4051 模拟转换开关的特性(原理见图3),将并行的8 组红外对射二极管的数据依次转换到我们公共端3 脚上(此时已经完成了并转串)。在3 脚输出端上利用LM358.2 构成了一个电压比较器用于调节灵敏度(整形)然后用LM358.1构成了一个电压跟随器用于输出到外部信号。
图3 循迹板并转串及整形电路
(4)并转串控制电路
利用NE555产生的时钟,控制74LS161(同步加法计数器),进行计数控制CD4051的开关切换。当计数刚好到8 时(也就是Q3 刚好输出时)就将计数器复位,让其再从0 开始加。
(5)状态指示电路
将整形后的数据输入到三极管Q1 后去驱动LED,此时利用CD4051 将串行的数据又转成了并行的数据(其实并非并行,只是利用了人眼的视觉暂留效果看起来LED 是一起亮的,其实是单个点亮)。电路原理图如图4 所示。
图4 循迹状态指示电路
(6)CD4015 转换开关电路
使用CD4015 转换开关,对A0,A1,A2,还有E#的控制来实现对外部设备的控制,CD4015 转换开关的控制信号状态表如表1 所示。
表1 CD4015转换开关的控制信号状态表
(7)电机驱动电路
采用4 片TI 公司的DRV8837 作为电机驱动电路,VCC最大11V,最大输出电流可达1.8A。
MCU 核心载板的系统结构图如图5 所示。
图5 底板MCU 系统结构图
硬件电路核心板部分采用了可更换核心控制芯片模块电路,其中使用到的MCU 有STC89C52RC、STM32F103 C8T6 和ATMEGA328P,系统设计在可随意更换核心板的同时,还在端口兼容方面以及电源防反接方面也做出了相应的设计,并且每块核心载板都配备了一颗LED 测试灯,三个按键(两个带外部中断,一个复位),以及一个两位的共阳数码管,用来实现简单的功能,可以脱离底板单独运行。每一块核心载板都配备了USB 转串口的芯片(CH340G)用来实现串口调试和程序下载,每块核心载板尺寸为50×58mm。
在设计过程中由于STC89C52RC 在下载程序时,需要重新对系统上电,所以我们为STC89C52RC 核心板设计了专门的板载一键下载电路,如图6 所示。用来解决在学习开发过程中没有专用下载器和重复对电路上电的繁琐操作,只需要一根USB 数据线即可下载,电路由RC 电路实现,时间T=RC。
图6 STC89C52RC 一键下载电路原理图
可更换核心处理器的智能小车开发平台是为满足高校学生学习单片机而开发的,具有完全知识产权。该产品将核心技术进行整合,简化了外围电路,首创将STC89C51 和Arduino UNO 与STM32 等主流单片机移植到同一外设电路的PCB 上,降低了入门门槛;在入门之初学习者可以先利用主控板上的资源进行基础学习,当需要资源整合进行拓展时可以将主控板插到小车金手指卡槽上进行操作。
可更换核心处理器的智能小车开发平台为学生学习C语言、51 单片机、SMT32 均可提供实践支撑,通过循迹小车的方式进行学习,可提高学生的学习兴趣。整个系统分为两个框架,核心板只有50mm*58mm的大小,方便携带,即使脱离小车也能进行部分实验,可满足日常学习同时也为同学们自我拓展留下了更多空间。