基于电荷泵的多LED驱动器 (2)

来源:本站
导读:目前正在解读《基于电荷泵的多LED驱动器 (2)》的相关信息,《基于电荷泵的多LED驱动器 (2)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《基于电荷泵的多LED驱动器 (2)》的详细说明。
简介:DLY_CLR 等待清除信号,为开始下一次送数周期作准备;DELAY 延时5个时钟周期后的输出信号,作为DLY_CLR信号的输入;SYSCLK ISA接口的系统时钟信号。

DLY_CLR 等待清除信号,为开始下一次送数周期作准备;

DELAY 延时5个时钟周期后的输出信号,作为DLY_CLR信号的输入;

SYSCLK ISA接口的系统时钟信号。

在MCS51与PC104进行通信的过程中,DLY_D信号一直有效(高电平)。在信号SYSCLK的作用下,每5个时钟周期DELAY信号有效一次,即为高电平。此时DLY_CLR信号有效(低电平),IOCHRDY信号变为高电平,PC104可以读写数据。

地址译码部分采用文本输入方式,用ALTERA公司的硬件设计开发语言AHDL(Altera Hardware Description Language)。AHDL是一种模块化的高级语言,完全集成于MAX+plusII系统中,特别适合于描述复杂的组合逻辑、状态机和真值表,地址译码部分用文本输入方式,这充分体现了文本输入方式的优点。文本输入内容如下:

SUBDESIGN Address

(

PCA[9..0] : INPUT;

AEN,IOR,IOW : INPUT;

RESETDR,DELAY : INPUT;

A[15..14] :INPUT;

RD,WR : INPUT;

DLY_D : OUTPUT;

DLY_CK : OUTPUT;

DLY_CLR : OUTPUT;

STATE : OUTPUT;

PCRD : OUTPUT;

PCWR : OUTPUT;

MCURD : OUTPUT;

MCUWR : OUTPUT;

)

BEGIN

!DLY_CLR=RESETDR#DELAY;

DLY_D=!AEN & (PCA[9..1]= =H"110");

DLY_CK=!AEN & (PCA[9..1]= =H"110")&(!IOR # ! IOW);

!PCWR=!AEN&(PCA[9..0]= =H"220")& !IOW;!PCRD=!AEN&(PCA[9..0]= =H"220")& !IOR;

!STATE=!AEN&(PCA[9..0]= =H"221")&!IOR;

!MCSRD=([15..14]= =H"1")& !RD;

!MCSWR=(A[15..14]= =H"2"& !WR;

END;

说明:PCA[9..0]是PC104的地址信号,A[15..14]是单片机的地址信号,PC104用到端口地址220H和221H。

3 通信软件设计

PC104是基于ISA总线的,在系统软件设计中要防止地址冲突。PC104中使用A0~A9地址位来表示I/O端口地址,即可有1024个口地址:前512个供系统板使用,后512个供扩充槽使用。当A9=0时表示为系统板上的口地址;A9=1时,表示扩充插槽接口卡上的口地址[2]。因此,采用保留的口地址220H和221H,保证不会发生地址冲突。

本程序中PC104采用查询方式接收数据,单片机用中断方式接收数据。

#define pcreadwrite 0x220 /*PC104读写数据口地址*/

#define pcrdstate 0x221 /*PC104查询状态口地址*/

PC104写数据函数:

提醒:《基于电荷泵的多LED驱动器 (2)》最后刷新时间 2024-03-14 01:13:28,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《基于电荷泵的多LED驱动器 (2)》该内容的真实性请自行鉴别。