您当前的位置:五五电子网电子知识电工技术电工文摘基于SOP的简易运动控制芯片方案探讨 正文
基于SOP的简易运动控制芯片方案探讨

基于SOP的简易运动控制芯片方案探讨

点击数:7746 次   录入时间:03-04 11:43:15   整理:http://www.55dianzi.com   电工文摘
摘要: SM1000是一个高性价比的运动控制芯片级方案,也是SOPC解决方案,它提供长达32位的可编程计数和脉冲发生的功能,简易而又方便于客户应用,面向更广泛、更一般的运动控制应用领域。
关键词: 运动控制   可编程计数和脉冲发生   SOPC 

现在的运动控制器已经发展到了以专用芯片(ASIC)或FPGA作为核心处理部件的开放式运动控制器。这样的解决方案突出的特点,是让运动控制的处理部分以独立的、硬件性方式展开,增加系统的性能和可靠性。有效地解决了以单纯的MCU或DSP系统的处理带宽限制,以及用户系统软件和运动控制软件混杂性的问题。
业界也早已出现了各种类型的运动控制专用芯片,虽然有较高的功能、性能,但一般都比较复杂,使得客户应用起来非常的困难。
用户们常常需要一种容易用的运动控制芯片与通用MCU/CPU结合起来的系统方案,用以面向更一般性的或中低端的应用场合。这样的方案里,运动控制芯片部分可以担当关键的马达控制信号发生功能,又可以拥有较高的性能和其他的系统性接口资源(若是利用8253/8254之类的计数器,就显得捉襟见肘,计数长度太短,且没有其他资源);而在MCU/CPU部分可以通过一些简单的控制指令完成对马达运动的控制,更多的资源用来处理系统界面或应用软件。
简单而言,就是需要一个方案有效地协调了运动控制系统的软硬件的分工,软件部分方便客户开发,硬件部分确保系统性能。
深圳市斯迈迪科技发展有限公司 (Smarteer)推出的SM1000系列SOPC运动控制芯片就是上述需求的解决方案。它是在高性能系列运动控制FPGA/芯片——SM5000方案后,经过不断的技术累积和市场调查后,特地为中低端市场应用推出的。
SM1000是一个简易的运动控制芯片系列,它提供长达32位的可编程计数和脉冲发生的功能,脉冲频率可以高达10M以上。同时在芯片内部增加了许多系统性的资源,比如:内置3-8译码器、地址锁存器、矩阵键盘扫描接口和通用I/O等。由于芯片是SOPC技术方案,因此还可以根据客户的具体需求做定向化的设计。
SM1000简易而又方便于客户应用,它面向更广泛、更一般的运动控制应用领域。利用它结合MCU/CPU可以便捷地组建成一个运动控制系统,尤其是一些嵌入式、系统集成的应用系统。
SM1000非常适合于独立多轴的马达控制场合,同时结合控制软件也可以非常灵活地实现常见的加减速运动控制,甚至多轴联动控制。
以下是SM1000系列芯片技术特点和应用介绍。


一、SM1000芯片方案的技术指标
 输入时钟CLK频率最高到78MHz。
 1-4道32位计数器,可达计数范围为:1~ 2147483647。
 1-4道32位直接脉冲分频器,可设置频率系数范围为:1~ 2147483647。
 1-4道正/反向脉冲输出,可接成差分输出。
 1-4道正/反向脉冲输出有效指示,可接成差分输出。
 最高输出脉冲频率为:CLK/64(SM1001不同)
 其他功能:
 内置3-8译码器,输出7个附加片选信号;
 8通用输入+8通用输出;
 可接8X8矩阵键盘,直接读取按键编码/有效值;
 8位数据接口(内置地址锁存,可以直接接MCS51 CPU)。


二、SM1000系列规格


三、SM1000功能框图

四、功能引脚介绍

五、应用方向举例
 步进马达控制器
 轻纺设备:缝纫机/绣花机等
 机器手/臂
 空间座标测量/定位系统
 经济型通用运动控制器
 钻孔、铣边设备
 其他


六、编程应用介绍
A、CPU接口
该芯片采用通用8051 8位地址/数据复用接口。由于芯片内内置了地址锁存器,因此,可以直接与8051单片机地址/数据总线相连,而不需要通过地址锁存器分离出地址和数据总线。另外,该芯片内置了一个3-8译码器,可以输出7个片选信号,以共用户扩展地址译码用。这样,极大地方便了用户基于8051单片机的应用系统设计。整个接口只需要14根线。包括:
 8根地址/数据总线:AD0~7
 3根片选线:CS1~3
 1根地址锁存允许线:ALE
 1根读允许线:RD_n
 1根写允许线:WR_n
输出7根片选线,地址划分见《表二:地址分配表》。

B、地址分配

C、CPU读/写操作
读写脉冲计数器:
脉冲计数器的值可以用命令直接写,但要读出时,就必须先用锁存脉冲计数器值命令,先锁存起来,再用命令直接读;如下所示。
写脉冲计数器操作格式:
a、(*地址)=  数据 ;
其中:地址=基地址+0+nn*16+mm;   nn=(0~3)为通道号,mm=(0~3)为字节地址;
            数据为8bit字节数据。

读脉冲计数器操作格式:
a、(*锁存地址)=  任意数据;
b、变量=(*读地址);
其中:锁存地址=基地址+10+nn*16;   nn=(0~3)为通道号,10为锁存脉冲计数器地址;
            锁存命令的数据为8bit字节任意数据,其值无意义。
            读地址=基地址+0+mm;   mm=(0~3)为字节地址;
注意:脉冲计数器长度为32位,允许全范围设置:0x00000000~0xFFFFFFFF。实际输出脉冲个数由下面公式给出:
           脉冲个数=(脉冲计数器值+1)/2;
           当脉冲计数器值为最大值0xFFFFFFFF时,允许最大脉冲个数为2147483648。
           当脉冲计数器值为最小值0x00000001时,允许最小脉冲个数为1。
其中,脉冲计数器值应该为奇数,如为偶数,则最后一个脉冲宽度很窄。输出脉冲为对应频率的方波。
           
写脉冲频率数据:
写脉冲频率数据操作格式:
a、(*地址)=  数据 ;
其中:地址=基地址+4+nn*16+mm;   nn=(0~3)为通道号,mm=(0~3)为字节地址;
            数据为8bit字节数据。

32位情况:脉冲频率值长度为32位,允许设置范围为:0x00000001~0xFFFFFFFF。实际输出脉冲频率由下面公式给出:
当脉冲频率值<0x00800000 时:
                   脉冲频率=(输入时钟频率/2^28)*脉冲频率值;
当脉冲频率值≥0x00800000 时:
                   脉冲频率=(输入时钟频率/(2^36+2^28)*脉冲频率值。

24位情况:脉冲频率值长度为24位,允许设置范围为:0x000001~0xFFFFFF。实际输出脉冲频率由下面公式给出:
当脉冲频率值<0x00400000 时:
                   脉冲频率=(输入时钟频率/2^25)*脉冲频率值;
当脉冲频率值≥0x00400000 时:
                   脉冲频率=(输入时钟频率/(2^33+2^25)*脉冲频率值。

启动脉冲通道工作:
启动脉冲通道工作操作格式:
a、(*地址)=  数据 ;
其中:地址=基地址+8; 
数据为8bit字节,作为允许启动标志,定义为:
D0----为1时,允许通道1启动,为0时不启动;
D1----为1时,允许通道2启动,为0时不启动;
D2----为1时,允许通道3启动,为0时不启动;
D3----为1时,允许通道4启动,为0时不启动。

停止脉冲通道工作:
停止脉冲通道工作操作格式:
a、(*地址)=  数据 ;
其中:地址=基地址+9; 
数据为8bit字节,作为允许停止标志,定义为:
D0----为1时,允许通道1停止,为0时不停止;
D1----为1时,允许通道2停止,为0时不停止;
D2----为1时,允许通道3停止,为0时不停止;
D3----为1时,允许通道4停止,为0时不停止。

[1] [2] [3]  下一页


本文关键字:暂无联系方式电工文摘电工技术 - 电工文摘