DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 111|回复: 0
打印 上一主题 下一主题

C8051F 单片机实验系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:15:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ????? 摘要:为满足单片机学习中对实践技能的要求,提高单片机开发系统的稳定性和可扩展性,降低系统功耗,设计了一种基于FPGA 的C8051F 单片机开发板。利用FPGA 实现键盘扫描、液晶驱动、地址译码以及其他外设接口,大幅度简化外围电路结构。系统可在高低频时钟间切换以减小功耗,并增加了音频处理模块,实现基本的音频信号的存储和回放。实验结果表明,该电路板相比普通的单片机开发板系统功耗减小50%左右,拥有最高达25 MIPS 的处理速度,单片机可以直接驱动多达20 多个LS TTL 门电路,FPGA 的引入使得外扩其他电路更为方便和灵活, 具有良好的扩展性。
  目前高校单片机教学中大多是以MCS51 单片机为首选机型进行讲解, 所开发的教学实验系统也多是基于MCS51系列单片机开发设计的。然而, 随着单片机的应用进入SoC时代,其不足和缺陷也显而易见:片上资源不够丰富,功耗较大,处理速度很有限,电路庞大且复杂,可靠性和可维护性较差,难以满足高水平的设计要求。
  为了进一步简化电路结构, 提出一种C8051F 单片机实验系统设计方案,该方案采用FPGA 实现单片机各种外设接口。FPGA 作为一种可编程逻辑器件凭借其优越的可扩展性能受到设计者的青睐,逐渐成为分立元件的替代者。通过对FPGA 编程,实现任何数字元件的逻辑功能,设计者可以通过原理图输入或硬件描述语言, 方便地设计一个数字系统,这使得单片机外围电路的设计简单、灵活、可靠。
  本系统是为单片机实践教学而开发的,因此要求单片机的功能齐全,满足教学中各种实验的要求。一般的实验板的功能有:模拟数字信号转换实验、通信接口实验、存储器实验、各种显示实验,人机交互实验等等。除此之外,还要考虑由于是非商业性质的开发, 对一些功能的精度要求不是很高,在选择最理想价格的同时,选择尽可能多而全的片上资源,留待后期开发扩充。
  基于以上考虑,该平台使用SoC 系统级的C8051F020 单片机作为核心控制器,Cyclone Ⅱ EP2C8 型FPGA 实现外设接口,加上LCD、键盘、UART 串口等人机交互的模块。
  C8051F 系列单片机是以流水线方式处理指令的CIP-51内核,完全集成的混合信号系统级芯片(SoC),片内集成了数据采集和控制系统中常用的模拟、数字外设及其他功能部件。C8051F020 单片机具有片内调试电路, 通过4 引脚的JTAG 接口可以进行非侵入式、全速的在系统调试。
  FPGA 即现场可编程门阵列, 它是作为专用集成电路(ASIC) 领域中的一种半定制电路, 既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA使用灵活,同一片FPGA 通过不同的编程数据可以产生不同的电路功能。
  1 系统总体方案
  本文设计并实现了基于FPGA 的单片机开发平台,该平台主要包括有:单片机及其外设、FPGA 扩展电路、电源及下载电路。开发平台框架如图1 所示。




  2.2 液晶显示模块
  液晶显示器(LCD)以其微功耗、体积小、显示内容丰富、超薄轻巧等诸多优点,在便携式仪表和低功耗应用系统中得到越来越广泛的应用。
  LCD 可分为段位式LCD、字符式LCD 和点阵式LCD。其中, 段位式LCD 和字符式LCD 只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动,动画功能,反转,闪烁等功能,用途十分广泛。
  点阵式LCD 分为带汉字字库和不带汉字字库两种,带字库LCD 若要显示汉字只要传给汉字内码, 而不带字库LCD显示汉字时要先求出汉字字模, 然后跟显示图形一样显示汉字。
  本开发系统采用博控公司生产的NS240*128A 点阵图形型LCD,不带中文字库。由于液晶显示器是典型的慢速设备,如果直接与高速的单片机相连时,会浪费大量的时间,可以考虑在单片机和液晶显示器中间加入FPGA, 由FPGA 直接驱动和控制液晶显示器。液晶显示模块框图如图3 所示。




  2.5 A/D 和D/A 模块
  C8051F020 有一个片内12 位ADC(ADC0)和一个8 位ADC(ADC1),通道输入多路选择开关和可编程增益放大器。ADC 的电压基准可以在模拟电源电压(AV+) 和一个外部VREF 引脚之间选择。
  A/D 转换有4 种启动方式:软件命令、定时器2 溢出、定时器3 溢出和外部信号输入。这种灵活性允许用软件事件、外部硬件信号或周期性的定时器溢出信号触发转换。转换结束由一个状态位指示,或者产生中断(如果中断被使能)。在转换完成后,12 位或8 位转换结果数据字被锁存到两个特殊功能寄存器中。这些数据字可以用软件控制为左对齐或右对齐。
  C8051F020 内部有两个片内12 位电压方式数/模转换器(DAC)。每个DAC 的输出摆幅均为0 V 到(VREF-1LSB),对应的输入码范围是0x000 到0xFFF。C8051F020 的VREF 引脚可以由内部电压基准或一个外部源驱动。如果使用内部电压基准,为了使DAC 输出有效,该基准必须被使能。
  本文设计了利用A/D 和D/A 模块进行简单的语音信号的存储和回放,基本思想是将模拟语音信号经过前置放大和滤波电路的处理, 通过模数转换器A/D 转换成数字信号,再通过单片机控制存储在存储器中,回放时,由单片机控制将数据从存储器中读出,然后通过数模转换器D/A 转换成模拟信号,经放大在扬声器或耳机上输出语音。音频前置放大和滤波电路如图5 所示。




  3 结束语
  本开发系统采用MCU+FPGA 结构, 单片机负责过程控制和数据处理,FPGA 实现各种外设的接口,同时FPGA 还可以为单片机提供存储器和I/O 口等资源。由于电路中具有数字部分和模拟部分, 在PCB 制板时特别注意抗干扰处理,例如加去耦电容、数字地和模拟地一点连接、数字电源和模拟电源隔离等措施。
  需要注意的是, 采样后的数字语音信号由于数据量很大,为了节省存储空间,可以采取相应的编码技术去除冗余度,回放的语音质量性噪比(RSN)较高。系统采用3.3 V 供电单片机,功耗降低50%左右。通过配置内部寄存器和外部时钟切换电路,可灵活配置系统时钟。通过单片机内部交叉开关的配置,设计者可以实现数字和模拟外设的引脚分配和器件的使能。经过测试,各模块均能够达到设计要求,具有良好的可扩展性和稳定性,适合作为电子设计大赛和电子爱好者的开发用板。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2026-4-12 14:31 , 耗时 0.127622 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表