C8051F单片机实验系统设计方案,FPGA实现单片机各种外设接口

目前高校单片机教学中大多是以MCS51单片机为首选机型进行讲解,所开发的教学实验系统也多是基于MCS51系列单片机开发设计的。为了进一步简化电路结构,提出一种C8051F单片机实验系统设计方案,该方案采用FPGA实现单片机各种外设接口。

为了进一步简化电路结构,提出了一种C8051F单片机实验系统设计方案,利用FPGA实现单片机的各种外围接口。 FPGA作为一种可编程逻辑器件,以其优越的可扩展性能受到设计者的青睐,逐渐成为分立元件的替代品。 通过对FPGA进行编程,实现任意数字元件的逻辑功能,设计人员可以通过原理图输入或硬件描述语言轻松地设计数字系统,使得单片机外围电路的设计简单、灵活、可靠。

本系统是针对单片机实践教学而开发的,因此要求单片机功能齐全,满足教学中各种实验的要求。 一般实验板的功能包括:模数信号转换实验、通信接口实验、存储器实验、各种显示实验、人机交互实验等。另外,还需要考虑到,由于它是一个非商业开发,对某些功能的精度要求不是很高。 在选择最理想价格的同时,选择尽可能多、完整的片上资源,留给后期的开发和扩展。

基于以上考虑,该平台采用SoC系统级C8051F020单片机作为核心控制器,Cyclone II EP2C8 FPGA实现外围接口,加上LCD、键盘、UART串口等人机交互模块。

C8051F系列微控制器是CIP-5l内核,以流水线方式处理指令。 它是一款完全集成的混合信号片上系统(SOC),集成了数据采集和控制系统中常用的模拟、数字外设和其他功能组件。 C8051F020 微控制器具有片上调试电路,可通过 4 引脚 JTAG 接口实现非侵入式全速在系统调试。

FPGA是现场可编程门阵列。 它是专用集成电路(ASIC)领域的半定制电路。 它不仅解决了定制电路的缺点,而且克服了原有可编程器件门电路数量有限的缺点。 FPGA使用灵活。 同一块FPGA可以通过不同的编程数据产生不同的电路功能。

1 系统总体规划

本文设计并实现了一个基于FPGA的单片机开发平台。 该平台主要包括:单片机及其外围设备、FPGA扩展电路、供电及下载电路。 开发平台框架如图l所示。

1.1 单片机外围设备

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

1.2 FPGA扩展电路

包括主动串行(AS)配置电路、JTAG在线调试电路、输入输出电路等。EPCSlN8芯片用于FPGA的主动串行(AS)配置,同时还具有JTAG在线调试模式。

1.3 供电及下载电路

微控制器和FPGA均采用3.3V/1.2V稳压源供电,均可以通过JTAG接口进行在线调试。

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

2 硬件电路设计

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

2.1 键盘接口模块

由于钥匙机械触点的弹性,钥匙开关在关闭时不会立即稳定导通,在打开时也不会立即打开。 因此,在关闭和打开的瞬间会出现一系列的抖动,影响灵敏度。 对于更高的电路,这种抖动可能会导致故障并影响运算精度。 常用的去抖方法是延迟去抖方法,即检测到按键闭合后,执行延时程序,产生5~10ms的延时; 前沿抖动消失后,再次检测按键状态。 如果仍然保持Closed状态电平,则确认确实有按键被按下。 当检测到按钮释放时,还需要5到10毫秒的延迟。 只有后沿抖动消失后,才能传输关键处理程序。

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

键盘接口电路的工作流程为:FPGA采用逐行扫描方式,对键盘进行反复扫描。 当按键按下时,按键首先被延迟和去抖,并将按键信号存储在寄存器中。 当扫描信号到来时,根据按键扫描码查找按键码表,并发回单片机。 程序流程如图2所示。

2.2 液晶显示模块

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

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

点阵液晶屏分为带汉字库和不带汉字库两种。 带字库的液晶屏如果要显示汉字,只需要传递汉字内码即可。 无字库的液晶显示器在显示汉字时,必须先找到汉字模型,然后再显示图形。 汉字也显示出来。

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

微控制器将字库/图形库中的图形或文本数据以及这些数据在液晶上显示的位置信息传输到由FPGA芯片组成的液晶控制IP核。 由于LCD是慢速器件,单片机向LCD控制器发送显示数据信息的速度通常大于LCD显示更新速度,因此需要将这些数据和信息发送到数据存储器进行缓存。 由于FPGA芯片的片上RAM容量有限,所以在系统中添加一块RAM作为显示数据缓冲区。 由FPGA芯片组成的显示控制IP核需要读取外部显示RAM中的数据,然后通过显示驱动电路按字节发送到LCD进行显示:因此,在设计的显示中设计了双口RAM驱动电路。 它不仅可以将显示数据缓冲区中的显示数据写入双口RAM,还可以读取双口RAM中的数据,然后将数据发送到LCD数据接口。

2.3 SRAM模块

C8051F020 具有位于外部数据存储空间的内部 4096 字节片上 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) 选择相关端口所需的输出模式。

本系统中,认为28051F020单片机的PO~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 将设置奇偶校验标志。

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

2. 5个A/D和D/A模块

C8051F020 具有片上 12 位 ADC (ADCO) 和 8 位 ADC (ADCl)、通道输入多路复用器和可编程增益放大器。

ADC 的参考电压可以在模拟电源电压 (AV+) 和外部 VREF 引脚之间选择。 A/D 转换有 4 种启动方式:软件命令、定时器 2 溢出、定时器 3 溢出和外部信号输入。 这种灵活性允许通过软件事件、外部硬件信号或周期性定时器溢出信号来触发转换。 转换结束由状态位指示或生成中断(如果中断已启用)。 转换完成后,12位或8位转换结果数据字被锁存到两个特殊功能寄存器中。 这些数据字可以使用软件控制左对齐或右对齐。

C805lF020 有两个片上 12 位电压模式数字/模拟转换器 (DAC)。 每个DAC的输出摆幅为0 V至(VREF-1LSB),对应的输入代码范围为Ox000至OxFFF。 C8051F020 的 VREF 引脚可由内部参考电压或外部源驱动。 如果使用内部电压基准,则必须启用该基准才能使 DAC 输出有效。

本文设计使用A/D和D/A模块来简单存储和回放语音信号。 其基本思想是通过前置放大器和滤波电路对模拟语音信号进行处理,然后通过模数转换器A/D将其转换为数字形式。 然后,该信号在微控制器的控制下存储在存储器中。 播放时,数据在单片机的控制下从存储器中读出,然后通过数模转换器D/A转换为模拟信号,经放大后在扬声器或耳机上作为语音输出。 音频前置放大器和滤波器电路如图5所示。

3 结论

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

需要说明的是,采样的数字语音信号数据量很大。 为了节省存储空间,可以采用相应的编码技术去除冗余,回放语音质量会有较高的噪声比(RSN)。 系统采用3.3V供电的微控制器,功耗降低约50%。 通过配置内部寄存器和外部时钟切换电路,可以灵活配置系统时钟。 通过微控制器内部纵横开关的配置,设计人员可以实现数字和模拟外设的引脚分配并启用设备。 经测试,各模块均能满足设计要求,具有良好的扩展性和稳定性,适合作为电子设计竞赛和电子爱好者的开发板。

单片机

英国29号多季红树莓:市场发展潜力很大,适宜大规模种植

2024-2-18 18:06:39

单片机

北京工业大学:“人才输送机”实至名归

2024-2-18 19:04:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索