历史上的今天
返回首页

历史上的今天

今天是:2024年12月20日(星期五)

正在发生

2019年12月20日 | AVR单片机与CPLD的通信设计

2019-12-20 来源:elecfans

项目中需要使用CPLD完成一部分算法设计,参数由AVR给出,因此需要完成AVR和CPLD的通信。因此写了一个测试程序。CPLD挂在AVR的数据和地址总线上,AVR使用ATmega128,在CPLD中设置几个寄存器,通过AVR读写寄存器来实现两者之间的通信。


Mega128的外部存储空间从0X1100开始,因此只需要配置相应的寄存器后读取或者写入相应的地址就可以,程序比较简单,注释中都有说明,仅供参考。


功能:测试AVR与CPLD的通信,将数据写入CPLD中配置的寄存器,然后读出,通过串口输出做比较。


AVR单片机与CPLD的通信设计

/#include“avr/io.h”

#include“avr/interrupt.h”

#include“util/delay.h”

#defineSetBit(Port,N)(Port|=(1《

#defineClrBit(Port,N)(Port&=~(1《

#defineReverBit(Port,N)(Port^=(1《

#defineGetBit(Pin,N)((Pin》》N)&0x01)//读取IO某一位

unsignedchardata;

voidXRAM_example(void)

{

unsignedchar*q=0x1100;//寄存器1

unsignedchar*m=0x1101;//寄存器2

unsignedchar*p=0x1102;//寄存器3

PORTD=0XFF;

DDRD=0XFF;

DDRC=0xFF;//默认情况下端口C用做高地址,可以每只寄存器把端口C释放

PORTC=0x00;

*q=0xCC;//向寄存器1中写入数据,CPLD中自动将寄存器1的值付给寄存器3

data=*p;//独处寄存器3中的值,在循环中用串口输出

}

voidUSART0_Init(void)

{

UCSR0A=0x20;//波特率不加倍,单机通信模式

UCSR0B=0x18;//中断不使能,允许发送和接收

UCSR0C=0x06;//异步模式,无校验,8位数据,1位停止位

UBRR0H=0x00;

UBRR0L=51;//9600波特率晶振8M

}

voidUSART0_SendByte(unsignedchardata)

{

while(!(UCSR0A&(1《

UDR0=data;//发送数据

}

intmain(void)

{

unsignedchari=0;

USART0_Init();//初始化USART0接口

MCUCR=0xC0;//使能外部SRAM

XMCRA=0x00;

DDRA=0XFF;

PORTA=0XFF;

DDRE=0xff;

DDRD=0xff;

PORTD=0x00;//使能CSA16A17=11

USART0_SendByte(0x88);

while(1)

{

ReverBit(PORTA,0);

XRAM_example();

_delay_ms(500);

USART0_SendByte(data);

}

}

推荐阅读

史海拾趣

Fillfactory Nv公司的发展小趣事

FIDELIX公司成立于1990年,是一家专注于存储芯片研发与销售的韩国企业。在公司成立初期,FIDELIX凭借对技术的深入研究和对市场的敏锐洞察,成功推出了多款性能优越的NAND FLASH(闪存)和SDR/DDR(单/双数率同步动态存储器)等存储芯片产品。这些产品不仅在韩国市场上获得了良好的口碑,同时也开始逐步进入国际市场。

随着技术的不断进步和市场的不断扩大,FIDELIX逐渐在韩国存储芯片领域崭露头角。公司不断投入研发资金,加强技术创新,努力提升产品的性能和品质。同时,FIDELIX也积极拓展销售渠道,与多家国内外知名厂商建立了合作关系,为公司的持续发展奠定了坚实的基础。

Garmin_Canada_Inc.公司的发展小趣事
合理的电路设计可以减少信号干扰和失真,提高拨号的准确性。例如,在接收部分采用单端输入,并配置适当的滤波电路和放大电路;在发送部分则注意信号的波形整形和功率放大。
全智景(Allvision)公司的发展小趣事

全智景公司自成立以来,一直致力于电子视觉技术的研发。早期,公司面临激烈的市场竞争和技术瓶颈,但全智景团队凭借坚韧不拔的精神,成功研发出了一款具有划时代意义的高清摄像头芯片。这款芯片以其出色的图像质量和稳定性,迅速获得了市场的认可,并推动了整个电子视觉行业的进步。这一技术突破不仅让全智景公司在市场上站稳了脚跟,也为公司后续的发展奠定了坚实的基础。

AW Industries Inc公司的发展小趣事

近年来,电子行业经历了巨大的变革,新技术、新产品层出不穷。面对这一挑战,AW Industries Inc积极调整战略,加大了对新技术、新产品的研发力度。同时,公司还通过优化生产流程、提高生产效率等方式降低成本,以保持竞争优势。这些措施使公司在行业变革中保持了稳定的发展态势。

B&K Precision公司的发展小趣事

在随后的几十年里,B&K Precision通过合并和收购其他电子公司,不断增强自身的市场竞争力。其中,1961年收购光远公司是一个重要的里程碑。这次收购不仅扩大了公司的业务范围,还带来了更多的技术和人才资源,为公司的后续发展注入了新的活力。

益升华(Essentra)公司的发展小趣事

为了提高生产效率和降低成本,益升华(Essentra)公司不断优化供应链。公司与多家优质供应商建立了长期稳定的合作关系,确保原材料的质量和供应的稳定性。同时,公司还引入先进的生产设备和工艺,提高生产自动化水平,降低人工成本。此外,益升华(Essentra)公司还建立了完善的物流体系,确保产品能够及时送达客户手中。这些措施的实施,使公司的竞争力得到了显著提升。

问答坊 | AI 解惑

【史上最牛的单片机教程】

我见过的最牛的单片机教程,下来看看吧, 第一次发帖,不足之处望指教!!!…

查看全部问答>

TINA ti 仿真

我用TINA_TI直流/交流仿真时出现“TINA7仿真出现“Circuit must contain at least one  IC”的对话框怎么办?为什么会这样…

查看全部问答>

关于WINCE中断

请教一下高手,CPU接到中断后在OEMInterruptHandler处理后,返回了中断号,然后会调用哪个函数呀?谢谢!…

查看全部问答>

急问

问下嵌入式移动设备开发有那些方法…

查看全部问答>

JMS传感器

谁代理JMS传感器,请加我531139917…

查看全部问答>

新手向各位讨教编写程序时喂狗经验

我是一个新手,做项目时遇到好多问题,很多事情如果不在开始时规范化,一旦养成习惯后,很难改掉,在这里向大家请教喂狗经验,先谢过了…

查看全部问答>

博世安防技术现身知名的莫斯科大剧院

博世安防技术现身知名的莫斯科大剧院 慧聪安防网讯 当著名的莫斯科大剧院于2005年至2011年期间进行整修时,博世被指派开发和 安装最先进的安防系统,包括防火、广播、疏散和视频监控技术。新的系统不仅要提供全面的、可 共同操作的网络,而且还 ...…

查看全部问答>

BQ24195 OTG PIN 怎么控制

充电时是什么电平,放电时是什么电平,边充边放是什么电平。有谁有BQ24195中文规格书。发我邮箱一下,谢谢!…

查看全部问答>

SAM4L Xplained Pro starter kit之库函数实现usart串口

      串口,这个对于大家学过MCU的人来说,都不陌生。在ATSAM4L这个系列的单片机上的串口是。普通MCU的串口是是通用异步收发器,简称UART,全称是Universal Asynchronous Receiver/Transmitter,而在ATSAM4L单片机中的串口是 ...…

查看全部问答>

麦克风前置放大输入与输出电压信号相位反相对声音的影响

做了一个简单的麦克风前置放大,用的是分立元件三极管,第一级共射放大,第二级共集,咪头拾取到的输入信号与经三极管放大后的输出信号电压相位是相反的,相差180度,这样出来的声音和原始声音会不会差别很大。 …

查看全部问答>