USB的众多便利使设计师能将该总线用于许多应用。例如,图中显示的是一个利用现成的便宜器件搭建的基于USB的4步进电机控制器。该电路没用MCU和DSP。它利用简单逻辑电路和应用软件控制步进电机的选择、其顺/逆时针的运行方向以及三种步进幅度:全步、半步和微步。
该设计基于一个USB转FIFO的并行接口模块(IC1)。这款名为DLP-USB245M的模块提供8位双向数据总线和诸如WR、RD、RXF和TXE等控制信号,利用这些信号控制PC和任何采用USB协议的外接电路的数据流。
利用该模块免去了需应付繁琐的USB接口的工作。另外,该模块带可通过高级语言容易快速地控制模块功能的驱动器软件,从而无需太多牵挂USB协议。
该控制器电路的其余部分包括诸如8D触发器(74LS273)、反向器(7416)和3/8译码器以及达林顿阵列驱动器(ULN2003)等通用数字器件。USB转FIFO模块采用外接5V供电,5V接至脚3、10和11。
其工作过程如下:当PC不向USB转FIFO模块发送数据时,IC1的发送缓存器为空,且RXF保持逻辑1。这使得D触发器(IC2)的RD和CLK为逻辑0,所以,IC2的输出保持不变。但,若PC向USB转FIFO模块接收缓存器发送一个字节,则RXF被拉低,自动指示最少有1字节数据可用。
经过短暂延时后,它将RD和CLK信号置1,且发送缓存器的数据字节输出(出现在D0-D7)在IC2的输出被锁存。一旦数据传输完成且如果发送缓存器为空,RXF返回逻辑1。这意味着没更多数据可用。此举,又将RD置为逻辑0,以便能进一步传输数据。
锁存数据低4位(IC2的Q0-Q3)驱动其它4个8D触发器(74LS273),而Q4和Q5控制3/8译码器(IC3)。在反向后,译码器的输出(A'、B'、C'、D')作为IC4-IC7的时钟。达林顿阵列驱动器(IC8-IC11)放大IC4-IC7的输出,以便它们可驱动步进电机线圈。这样,通过向IC1写入一个正确字节,PC可选择4个步进电机之一并如愿驱动其电机线圈。
例如,当PC向USB转FIFO模块发送数据0x0A时,步进电机1被选且其线圈以L1 L2 L3 L4 = 1 0 1 0的模式得电。为使步进电机1前转一步,PC发送的下一个字节是0x09;若想使其反转,PC发送0x06。
表中列出的是控制4个步进电机以全步运行的字节值。通过适当变化,用户可以半步和微步操控电机。数据字节写入的速率——也即,连续数据的写入间隔——控制步进电机的速度。
除电流放大器和USB-FIFO转换器外,分立器件可用CPLD/FPGA实现。可以多种方式开发电机控制软件。你可采用C或VB或类似LabVIEW等图形程序。若采用与IC1一道提供的VCP(虚拟COM端口)驱动器软件(免费下载),应用程序将视USB步进电机控制器模块为另一个COM口。但,设置波特率的指令将被忽略且数据将以最快的速度被发送(而不管应用的波特率设置)。你还可采用Windows提供的D2XX直接驱动器,这样,你就可直接控制各项操作,比如“FIFO_写”等。
为对电路功能进行基本测试,你既可利用提供的DLPTEST应用软件或简单借助诸如Hyperterminal等串口程序来不断发送所需字节。在此展示的设计采用12和5V外接电源。所以,你必须留意,当关闭PC或USB集线器(若使用)时,USB总线内的电流也被关断。
关键字:MCU DSP FIFO
引用地址:
通过PC的USB端口控制多个步进电机
推荐阅读最新更新时间:2024-03-30 21:24
基于MC9S12微控制器的发动机高能直接点火控制
摘要:发动机高能直接点火系统需按点火顺序、点火时刻和点火能量的要求实现各点火线圈的独立控制。介绍了以MC9S12DP256微控制器为核心的电子控制单元的软硬件系统设计。利用MCU的增强型捕捉定时器,该将输入捕捉与输出较功能相配合,满足了6个点火线圈初级电路通断电的复杂时序控制要求。该系统在某稀燃天然气发动机的开发中进行了应用,结果表明:在各种工况下,都能获得可靠的点火。
关键词:微控制器 增强型捕捉定时器 点火系统
随着电子技术的发展及对发动机性能要求的提高,微机控制的电子点火系统逐渐取代了传统的发动机点火系统,实现了更为精确的点火时刻和点火能量的控制。
在发动机点火系统中,采用的每个发动机汽缸各带一个点火线圈,对各缸点
[单片机]
基于FPGA+MCU的大型LED显示屏系统设计
随着平板显示技术的不断更新,大型LED显示系统利用发光二极管构成的点阵模块或像素单元组成大面积显示屏,主要显示字符、图像等信息,具有低功耗、低成本、高亮度、长寿命、宽视角等优点。近年来广泛应用在证券交易所、车站机场、体育场馆、道路交通、广告媒体等场所。 通常用单一单片机作为主控器件控制和协调大屏幕显示。由多片单片机构成的多处理器系统,其中一片作为主CPU,其他作为子CPU共同控制大屏幕的显示,该系统可以减轻主CPU 的负担,提高了LED点阵的刷新频率。但单片机的驱动频率有限,无法驱动等分辨率LED屏幕,尤其是对于多灰度级彩色大屏幕,数据送到显示屏之前要进行灰度调制重现图像的色彩,对数据的处理速度要求更高,单片机控制在速度
[电源管理]
《世上只有妈妈好》51单片机汇编语言程序
;《世上只有妈妈好》51单片机汇编语言程序 ;2007-5-22 作者:徐学军 ;注意有一个51单片机C语言程序与之对应 ;此程序在硬件上调试通过 ;本程序的单片机晶振采用11.0592MHZ SPK BIT P1.7 ORG 0000H LJMP MAIN ORG 000BH LJMP TIMER0 MAIN: MOV TMOD,#01H ;置CT0定时工作方式1 MOV IE,#82H ;CPU开中断,CT0开中断 MOV R5,#0 PLAY: MOV A,R5 MOV DPTR,#TABLE1 MOVC
[单片机]
采用μPD78F0034单片机的出租车计费器方案设计与实现
随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印 、IC卡付费、语音报话、和电脑串行通信等功能。通常,设计出租车计费器面临以下三方面的问题: (1)不同国家和地区的计费方式存在差异。有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费;即使同一地区,不同车型的出租车,其计费方式也有差别;另一方面,出租车还面临几年一次的调价或调整计费方式等问题。因此,所设计的计费器不仅要能满足不同国家和地区的要求,而且计费方式的调整也应当很方便。 (2)由于个别地区对计费器有特殊要求,有时必须修改软件;另外,计费器还面临软件的升级;因而,所设计
[单片机]
单片机应用于嵌入式系统设计方案
1 概述 随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。 然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。如图1所示,用户程序需要在硬件完成的情况下才能进行联调,如果在调试过程中发现需修改硬件,则要重新制板。因此无论从硬件成本还是开发周期来看,其高风险、低效率的特性显露无遗。来自英国
[单片机]
MCS-51单片机底层工作原理分析1
在大学学了2年的单片机,差不多也用了两年的单片机了,但是对其内部细致的工作原来还是有点模糊不清(可能平时的应用可以不涉及到底层工作原理,大部分工作都让编译器和汇编器替我们做了,这也阻碍了我们对底层工作原理的了解啊)。一直在不知其理的状态下开发了这么多年,内心有很多疑问,也有一种被架空的感觉。可能我比较喜欢踏实,所以一直想把内部原理搞明白,这里总结了几点。 首先,我们分析一下单片机(一般处理器)的大致工作原理吧。我们都学过简单的加法电路,计数电路,存储器读写电路和其它具有特定功能的时序电路,这些都是数字电路的时序电路课程中的简单的应用,我们可以把单片机理解为由这些基本时序电路组合而成的较为复杂的数字电路。在正常程序执行
[单片机]
基于DSP的数字存储示波卡的设计方案
1.引言 数字存储示波器有别于一般的模拟示波器,它是将采集到的模拟电压信号转换为数字信号,由内部的微处理器进行分析、处理、存储、显示或打印等操作。这类示波器通常具有程控和遥控能力,通过GPIO接口还可将数据传输到计算机等外部设备进行分析处理。随着大规模集成电路的不断发展,功能强大的DSP数字信号处理器的实时性越来越强。DSP凭借其强大的数字信号处理能力,为数字示波器的数据采集系统的实现提供了一个可靠而又实用的平台,并且提高了数字存储示波器的采样速率、存储深度、波形捕获能力等指标。 本文描述的数字存储示波卡是一种基于DSP的双通道数字存储示波器。该示波器采用的是TI公司的TMS320F2812芯片,它具有高速的数字信号处
[测试测量]
【51单片机实验】INT0中断计数
前言 —中断源— 52单片机:6个中断源: INT0:外部中断0,P3.2,引起:低电平、下降沿 INT1:外部中断1,P3.3,引起:低电平、下降沿 T0:定时器/计数器0中断,由T0计数器计满回零引起 T1:定时器/计数器1中断,由T1计数器计满回零引起 T2:定时器/计数器2中断,由T2计数器计满回零引起 TI/RI:串行口中断,引起:串行端口完成一帧字符发送/接收 优先级 —51系列单片机中用于中断控制的寄存器为— IE,中断允许控制寄存器,各位定义如下: (外定0;外定1;串;空空;C) EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.
[单片机]