为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

发布者:SparklingRiver最新更新时间:2024-03-04 来源: elecfans关键字:单片机  开发系统  C8051F  实验系统 手机看文章 扫描二维码
随时随地手机看文章

为进一步简化电路结构, 提出一种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 所示。

为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

1.1 单片机外设

包括液晶显示器(LCD)、键盘、SRAM、UART 串口等,对FPGA 进行编程来实现LCD、键盘、SRAM 的接口电路。

1.2 FPGA 扩展电路

包括主动串行(AS)配置电路、JTAG 在线调试电路、输入输出电路等。采用EPCS1N8 型芯片对FPGA 进行主动串行(AS)配置,同时兼有JTAG 在线调试模式。

1.3 电源及下载电路

单片机和FPGA 均采用3.3V/1.2V 稳压源供电, 两者均可通过JTAG 接口进行在线调试。

FPGA 和单片机以典型的三总线连接进行数据通信及控制,单片机内部集成的数字/模拟资源和FPGA 剩余的引脚通过插针引出,供用户使用。将以上模块有机结合起来,形成一个性能优越的开发平台,能够满足不同层次的设计需求。

2 硬件电路设计

在单片机系统的人机交互部分通常有液晶显示器(LCD)、键盘和存储器等外设,因此需要用大量的标准逻辑器件对单片机进行扩展,这些器件的组合使用会导致设计周期长、可维护性差,用FPGA 来实现单片机的外围接口电路,能大大简化电路结构,节省CPU 资源。

2.1 键盘接口模块

因为按键机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的导通,在断开时也不会马上断开,因而在闭合及断开的瞬间都会伴随一连串的抖动,对于灵敏度较高的电路,这种抖动可能会造成误动作而影响操作正确性。常用的去抖动的方法为延时去抖动法,即检测出键闭合后执行一个延时程序,产生5~10 ms 的延时;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按件释放后,也要给5~10 ms 的延时,待后沿抖动消失后,才能转入该键的处理程序。

对FPGA 编程完成消除抖动及按键识别,由抖动消除模块、键盘扫描电路、键盘译码电路、按键数据寄存器等组成。

键盘接口电路的工作流程为:采取逐行扫描法,FPGA 周而复始地对键盘进行扫描,当有键按下时,先对按键进行延时去抖处理,将按键信号存入寄存器,扫描信号来临时,根据按键扫描码查找键码表,并将其送回给单片机。程序流程如图2 所示。

为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

2.2 液晶显示模块

液晶显示器(LCD)以其微功耗、体积小、显示内容丰富、超薄轻巧等诸多优点,在便携式仪表和低功耗应用系统中得到越来越广泛的应用。

LCD 可分为段位式LCD、字符式LCD 和点阵式LCD。其中, 段位式LCD 和字符式LCD 只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动,动画功能,反转,闪烁等功能,用途十分广泛。

点阵式LCD 分为带汉字字库和不带汉字字库两种,带字库LCD 若要显示汉字只要传给汉字内码, 而不带字库LCD显示汉字时要先求出汉字字模, 然后跟显示图形一样显示汉字。

本开发系统采用博控公司生产的NS240*128A 点阵图形型LCD,不带中文字库。由于液晶显示器是典型的慢速设备,如果直接与高速的单片机相连时,会浪费大量的时间,可以考虑在单片机和液晶显示器中间加入FPGA, 由FPGA 直接驱动和控制液晶显示器。液晶显示模块框图如图3 所示。

为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

单片机将字库/ 图形库内的图形或文字数据以及这些数据在液晶上所显示的位置信息传送给由FPGA 芯片构成的液晶控制IP 核。由于LCD 是慢速设备, 单片机发送至LCD控制器的显示数据信息的速度通常大于LCD 显示更新速度,因此需将这些数据和信息送入数据存储器中缓存。由于FPGA 芯片的片内RAM 容量有限, 系统中外扩了1 片RAM作为显示数据缓冲器。由FPGA 芯片构成的显示控制IP 核需读取外扩显示RAM 中的数据, 再通过显示驱动电路按字节送至LCD 进行显示;因此在所设计的显示驱动电路中设计了一个双端口RAM,既能将显示数据缓存器中的显示数据写入双端口RAM,同时又能将双端口RAM 中的数据读出,再将数据送至LCD 数据接口。

2.3 SRAM 模块

C8051F020 内部有位于外部数据存储器空间的4 096 字节的片上RAM,还有外部数据存储器接口EMIF,可用于访问片外存储器和存储器映射的I/O 器件。外部数据存储器接口EMIF 可配置到低I/O 端口P0~P3, 也可配置到高I/O 端口P4~P7。而且,既可以配置为数据、地址复用方式,也可以配置为非复用方式。若要节省端口I/O,可采用数据、地址复用方式,能节省8 根端口线,但是速度较慢,若要提高速度,则可以采用非复用方式。

2.3.1 配置外部存储器接口的步骤

1)将EMIF 选到低端口(P3~P0)或选到高端口(P7~P4)。

2)选择复用方式或非复用方式。

3)选择存储器模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器)。

4)设置与片外存储器或外设接口的时序。

5)选择所需要的相关端口的输出方式。

在本系统中考虑到C8051F020 单片机的P0~P3 口大部分为功能复用引脚, 为使单片机的资源得到最大的开发,将单片机的高端I/O 口,即P4~P7 接入FPGA,并通过FPGA 对RAM 进行访问。将单片机配置为高端口(P4~P7)、地址/数据总线分时复用方式, FPGA 控制RAM 的片选、读/写等操作,其中注意FPGA、单片机、RAM 的时序统一问题。

2.4 UART 串口

UART 是一种通用串行数据总线,该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART 用来与PC进行通信,包括与监控调试器和其他器件,如EEPROM通信。

UART 首先将并行数据转换成串行数据来发送。消息帧从一个低位起始位开始,后面是若干数据位,一个可用的奇偶校验位和一个高位停止位。接收器发现开始位时它就知道数据准备发送,并尝试与发送器时钟频率同步。在接收过程中,UART 从消息帧中去掉起始位和结束位,对进来的字节进行奇偶校验,并将数据字节从串行转换成并行。UART 也产生额外的信号来指示发送和接收的状态。例如,如果产生一个奇偶错误,UART 就置位奇偶标志。

C8051F020 单片机中有两个增强型串行口:UART0 和UART1。所谓增强型是指,这两个串口都具有帧错误检测和通信地址硬件识别功能。它们都可以工作在全双工异步方式或半双工同步方式,并且支持多处理器通信。开发板外扩两个增强型UART 串口,实现单片机与PC 机、单片机和单片机之间的通信。其电路连接如图4 所示。

为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

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 所示。

为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

3 结束语

本开发系统采用MCU+FPGA 结构, 单片机负责过程控制和数据处理,FPGA 实现各种外设的接口,同时FPGA 还可以为单片机提供存储器和I/O 口等资源。由于电路中具有数字部分和模拟部分, 在PCB 制板时特别注意抗干扰处理,例如加去耦电容、数字地和模拟地一点连接、数字电源和模拟电源隔离等措施。


需要注意的是, 采样后的数字语音信号由于数据量很大,为了节省存储空间,可以采取相应的编码技术去除冗余度,回放的语音质量性噪比(RSN)较高。系统采用3.3 V 供电单片机,功耗降低50%左右。通过配置内部寄存器和外部时钟切换电路,可灵活配置系统时钟。通过单片机内部交叉开关的配置,设计者可以实现数字和模拟外设的引脚分配和器件的使能。经过测试,各模块均能够达到设计要求,具有良好的可扩展性和稳定性,适合作为电子设计大赛和电子爱好者的开发用板。


关键字:单片机  开发系统  C8051F  实验系统 引用地址:为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

上一篇:基于C8051F311单片机实现汽车座椅自动控制系统的软硬件设计
下一篇:51单片机开发板的主要功能 51单片机开发板能做什么

推荐阅读最新更新时间:2024-11-12 07:47

意法半导体新款MCU推动电动汽车进程,为软件定义电动汽车助力
意法半导体新款MCU推动电动汽车进程,为软件定义电动汽车助力 Stellar E系列电动汽车专用微控制器,促进集中式电气架构发展 简化车载充电机高能效功率模块和数字化功率转换系统设计 2022年2月24日,中国 – 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM) 推出新款车规级微控制器 (MCU)。新产品针对电动汽车和汽车集中式(区/域)电气架构优化了性能,有助于降低电动汽车成本,延长续航里程,加快充电速度。 在当今的电动汽车中,选择搭载SiC(碳化硅)高能效功率模块,可以最大限度延长行驶里程,加快充电速度。而在此前,想要控
[汽车电子]
LG电子计划直接开发和生产车用半导体MCU
CINNO Research产业资讯, LG电子为了应对半导体供应不足导致生产受阻的汽车市场,将自制车用半导体,实现半导体供应链内在化。LG电子最近投入了车载 微控制器 单元(MCU)的开发业务。这是LG电子首次开发车载半导体。据悉,开发总管由CTO部门内的SIC中心负责。 根据韩媒ETNews报道,据悉,LG电子正在与半导体设计专业公司接触,以打造自己的MCU。业界分析这是LG电子实现MCU内在化的尝试。LG电子CTO部门目前正在招聘数字逻辑设计和SoC等半导体专业人才。都是与MCU相关的领域,是为培养自身半导体能力作铺垫。预计最早在一两年内将生产自己的MCU产品。MCU是控制特定系统的专用处理器,发挥各种电子产品和设备的大
[汽车电子]
基于P87C591单片机的信号采集节点的设计
  1 引言   在工程机械液压系统状态监测与故障诊断中,传感器信号的调理、采集和信号的特征提取,以及把采集的数据发送给主机(中心处理单元)要由信号采集单元实现。本文介绍了基于P87C591的CAN总线系统信号采集节点的设计。   CAN是1986年2月在SAE (汽车工程人员协会)大会上, 由Rober Bosch公司提出的新总线系统,称之为“汽车串行控制局域网”(Automotive Se.rial Controller Area Network),它是最主要的总线协议之一。由于CAN总线采用了许多新技术及独特的设计,使得它与一般的通信总线相比具有突出的可靠性、实时性和灵活性,从而使其应用范围不断扩展。目前,CAN已经形成
[单片机]
基于P87C591<font color='red'>单片机</font>的信号采集节点的设计
STC单片机AD转换,外部触发,数码管显示电路
#include REG51.H sfr ADC_CONTR=0xC5;/*A/D 转换寄存器*/ sfr ADC_DATA=0xC6;/*A/D 转换结果寄存器, 为10 位 A/D 转换结果的高8 位*/ sfr ADC_LOW2=0x0BE;/*A/D 转换结果寄存器, 低2 位有效, 为10 位 A/D 转换结果的低2 位*/ sfr P1M0=0x91;//P1 口模式选择寄存器0 sfr P1M1=0x92;//P1 口模式选择寄存器1 #define ADCPowerChannel_7 0xE7;/*P1.7 作为A/D 输入11100111B*/ unsigned char ADC_Channel_7_Result
[单片机]
基于51单片机设计的数字温度计设计
一、项目介绍 数字温度计是一种广泛应用于日常生活和工业领域中的电子测量仪器,用于检测环境温度并将其转换为数字信号进行显示。随着现代科技的发展,数字温度计逐渐取代了传统的水银温度计等方式,具有快速响应、高精度、便携式等优点。 基于51单片机设计的数字温度计具体应用于制造业中的温度检测,例如温度控制器、烤箱温度控制、食品加工、工业炉等领域。通过DS18B20这种数字温度传感器来进行温度采集,使用STC89C52这种常用的单片机控制芯片,配合4位共阳数码管实现温度数据显示,并通过按键设置温度上限阀值,一旦温度超过阀值,系统会触发蜂鸣器进行报警提示,从而保证了温度的精准控制和安全性。 DS18B20是一种数字温度传感器,由Maxi
[单片机]
基于51<font color='red'>单片机</font>设计的数字温度计设计
STM32单片机-PWM波形输出
一、引脚映像与寄存器 1、定时器引脚复用功能映像 ----------------------------------------------------------- 2、定时器 1)定时器介绍 STM32中一共有11个定时器,其中TIM6、TIM7是基本定时器;TIM2、TIM3、TIM4、TIM5是通用定时器;TIM1和TIM8是高级定时器,以及2个看门狗定时器和1个系统嘀嗒定时器SysTick。 其中TIM1和TIM8能够产生3对WM互补输出,常用于三相电机的驱动,时钟由APB2的输出产生; TIM2~TIM5是普通定时器,TIM6和TIM7是基本定时器,其时钟由APB1输出产生。
[单片机]
STM32<font color='red'>单片机</font>-PWM波形输出
GD32 MCU的选项字节是什么?
GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复? 读者朋友们是否会有以上的疑问,首先我们先为大家介绍选项字节是什么以及选项字节的功能。 以GD32F30X系列MCU为例,其选项字节说明如下表所示,该选项字节共16个字节,用于芯片内部配置。具体说明如下:SPC为读保护控制位,可以设置芯片读保护;SPCN为SPC补字节,不需要配置;USER为用户配置字节,可以配置芯片从BANK0还是BANK1启动,配置低功耗模式唤醒后继续进入低功耗模式还是复位,配置是否使能硬件独立看门狗(硬件看门狗使能后,芯片上电后会自动打开看门狗,如果读者有发现芯片看门狗复位,且软件上没有打开看门狗,就可以排查下看是否该控制位被打开,
[单片机]
GD32 <font color='red'>MCU</font>的选项字节是什么?
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved