当前位置:首页 > > TsinghuaJoking
[导读]简介 RAM是计算机系统中保存临时结果的器件,它的大小也决定了计算机处理数据的规模。在嵌入式计算机(单片机中),由于受到价格、功耗等原因,内部的RAM的容量往往比较小,比如从几百字节到十几k字节不等。这能够满足大部分单片机应用的需求了。 但是在一些

简介

RAM是计算机系统中保存临时结果的器件,它的大小也决定了计算机处理数据的规模。在嵌入式计算机(单片机中),由于受到价格、功耗等原因,内部的RAM的容量往往比较小,比如从几百字节到十几k字节不等。这能够满足大部分单片机应用的需求了。

但是在一些特殊的应用情况下,有时需要大容量的RAM来存储采集到的数据,或者缓存通信数据。此时则需要通过外扩内存来完成。比如最近实验声音信标信号[1]相关系统测试和算法优化,则需要采集到多路音频信号。此时需要通过外扩RAM来解决。

通常静态RAM芯片接口包括有数据、地址和控制总线,与单片机对应的端口相连便可以加成数据的写入和读出。

▲ MCU外部RAM

有的单片机在扩展外部RAM的时候,为了节省有限的IO端口,通过使用外部锁存器来复用同一八位地址端口来扩展地址总线到16位的目的。比如8051单片机。这样设计的代价就是需要增加外部锁存器芯片74LS372。

▲ 8051外部数据总结接口

虽然数据总线和地址总线按照逻辑都标有数据位的顺序:比如16位地址总线按照A0~A15,8位数据总线表明D0-D7。但是在访问静态RAM的时候,数据总线,地址总线内部的这些位的顺序是可以任意调整的。

比如在下面设计的单片机系统中,为了满足能够尽量减少PCB布线的交叉,就是通过调整数据线和地址总线内部位的顺序来满足的。

扩展STC8H8K外部32k字节RAM


1. 设计说明

STC8H8K单片机具有16路12位的AD转换器,在本实验中用于采集信标发出的Chirp声音,并传送给计算机加以处理。

在博文“基于STC8G8K64U三通道高速ADC采集板[2]"给出了利用STC8H8K内部的8kRAM进行声音信号采集电路设计方案。但是受限于内有8KRAM的空间限制,所能够采集音频信号的路数和时间长度都无法满足研究的目的。所以此次通过外部扩一片32k字节的SRAM来扩展信号采集的容量。

同样通过WiFi-UART转换模块,实现采集数据与PC机之间的数据传送,这一点设计与前面博文中的设计方案是一致的。

2. 原理图

所使用的STC8H8K芯片的封装为TSOP48。使用P2端口作为数据总结,使用P0,P4端口作为地址总线。不需要外部的锁存器。

使用UART3与WiFi-UART模块通信。将ADC中的AD0~AD2引到输入端口接收外部被采集的信号。

具体的电路图如下图所示:

▲ 实验板的原理图

外部接口设计:

(1) ISP端口:

序号 符号 功能
1 VCC +5V工作电源
2 GND 工作电源地
3 TXD MCU串口输出
4 RXD MCU串口输入

(2) ADC端口:

序号 符号 功能
1 ADC0 ADC通道0
2 ADC1 ADC通道1
3 ADC2 ADC通道2,可以作为普通IO

2. PCB板

这里需要需要说明的是,为了能够适应快速制版的实验需要。使用了单面PCB板工艺。为了消除在布线中的交叉部分(因为交叉部分则需要过孔和双面布线),对数据总线和地址总线的顺序进行了调整,由此可以仅仅使用一面PCB便将所有的数据和地址总线完成连接。

下面给出了具体的PCB连接方式。前面原理图中显示了调整后(总线错乱)的地址线和数据线的逻辑设计。

▲ 使用单面覆铜板制作实验电路板

在实际电路设计工程中,有的时候为了方便布线,需要对引线的顺序进行调整。在复杂电路设计中,优势会通过FPGA、CPLD等大规模可编程逻辑器件来对芯片外部引线的顺序进行调整,方便进行布线。当然这也需要付出设计的复杂度和额外增加的芯片价格。

硬件调试

1. 扩展RAM实验

通过设计,电路板腐蚀、焊接与安装,很快得到实验电路。下面对其进行测试。

▲ 通电之后的实验电路板

STC8H单片机硬件编程选项配置如下:

▲ 单片机编程硬件选项参数

单片机工作的主要指标:

  • 内部工作主频:40MHz
  • ISP UART1 波特率:500000bps;
  • WiFI-UART波特率:460800bps
该电路板中的硬件设计和实验软件可以在CSDN中下载。


(1)访问外部RAM时间长度

使用MCU的端口来测量访问外部RAM的时间,下面是测量写入外部RAM的时间,为534ns(包括对FLAG_PIN的操作时间。)

            ON(FLAG_PIN);            
            ExtSramWrite(0x00x0);            
            OFF(FLAG_PIN);
▲ 写入外部RAM数据时间长度

使用相同的方法,测试 ExtRamRead()的时间为490ns。

2. AD转换实验

(1)AD的通道设置:

使用了P1.0, P1.1 来采集两路外部模拟信号。

▲ ADC通道设置

(2)AD转换时间:

  1. AD参数设置:STC8H内部转换启动
  2. AD转换时间:通过ADC2(P1.4)输出脉冲来测量。
  3. 测量结果:两次ADC转换,时间为5微秒;
▲ P1.4脉冲表明两次AD转换之间的时间
        ON(FLAG_PIN);
        ADCSetChannel(0);
        g_nADResult1 = ADCConvert();
        ADCSetChannel(1);
        g_nADResult2 = ADCConvert();
        OFF(FLAG_PIN);

采集实际信号

1. 采集两路测试信号

下图显示了采集两路测试信号的波形:


   
▲ 采集两路测试信号:正弦波以及三角波信号

2. 采集Chirp音频信号

采集两路分别来自于调频接收模块以及麦克风传感器的Chirp信号并求取它们的相关信号,来判断时间延迟。


下图是采集到的声音信号,长度为0.8192秒。包含了两个Chirp信号周期的数据。

▲ 采集的Chirp声音信号
使用相关运算,获得两个信号之间的相关信号。
▲ 两个信号的相关信号

通过判断中间峰值的位置,可以获得声音传播过程中的时间延迟:
▲ 两个信号的相关信号中心位置波形


公众号留言

大大,实话实说,这次比赛实在是太太太太太赶了,学校大概六月初左右返校,然后还要准备期末考试。我们队伍参加的是直立节能组。别的组别或许还可以在没有仪器的情况下就把车做出来,但是我们是万万不可能的。充电板和车模一旦有一点问题更正周期是以周计算的,按照以往学长的进度,正常比赛留给软件调试的时间也不过就是半个月左右,现在准备时间压缩到两个月,这次规则的软件又比以往都要难一些,感觉除非开学之后每天通宵,不然实在是不能确保小车的稳定性。

求大大考虑考虑节能的兄弟们。

回复:现在,我只能说:兄弟们加油。


老师好,深夜打扰。请问这款芯片可以在信标组中使用,还是说只要涉及到控制的微处理器都要用infineon的呢?

▲ 电机控制单片机

回复:这款芯片如果只是专用于电机驱动设计,不参与其它运动控制,是可以应用到信标组别的。


老师,我听说了一种想法,有些同学在群里讨论用1064自制openmv,事实上偷偷用1064跑信标,我虽然没有验证过可行性,但是不希望有这种想法伤害到比赛的公平性,也不愿意看到openmv因此而被禁止,所以也跟卓大提及一下这种想法。

再提出一个建议:音标比赛只允许使用成品openmv

▲ 自制的OpenMVP模块

回复:谢谢你反映的这种情况,以及提出的建议。

参考资料

[1]

声音信标信号: https://blog.csdn.net/zhuoqingjoking97298/category_9689868.html

[2]

基于STC8G8K64U三通道高速ADC采集板: https://zhuoqing.blog.csdn.net/article/details/105731860

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭