0

关于投票
DMA(Direct Memory Access)

从微机原理,到单片机,再到DSP,接触这类器件时间也不短了,可是到今天才真正弄明白DMA是干什么用的。真是惭愧啊!呵呵

以前总是以为DMA只是CPU内部的一个用来传送数据的结构,在CPU和外界传送收据时就用到它。所以每回看到这一章时就觉得是讲内部构造,直接跳过去了。但实际上不是这样的。

经过查阅书本,我现在的理解是这样的,DMA(Direct Memory Access)是指主要依靠硬件实现主存与自身或其他设备之间进行直接的数据传送。说白了就是数据或程序的搬移。他的最突出的特点是所有的搬移过程都不需要CPU的参与,而只是经过DMA部分来进行的。这就使得在搬移大量数据时节省了时间和CPU的工作量,使得运行效率大大的增加。

现在看起来DMA真是个好东西啊!一定要学习一下怎么用它,呵呵。把以前的东西不上!

看来平时要多留心一些东西,就算用不到也要知道是做什么用的,没准啥时候就用上啦!这就是积累吧!

系统分类: DSP
用户分类: 技术文章
标签: 无标签
来源: 原创
发表评论 阅读全文(277) | 回复(0)

0

关于投票
关于54x的自举问题

我们单位一直使用的是54x的dsp芯片,和后来新出的55x和67x系列不同,54x系列没有外部存储器访问的专用接口(EMIF),而只有外部的IO,数据,程序三个空间。这就使得想用外部flash芯片对其自举时,由于54x缺少与flash对应的控制信号线,使其硬件连接有些难以实现。

我们的通常做法是:把flash的地址和数据线按原有顺序接到dsp的外部总线上。而flash其他的控制线全部接到一个cpld或fpga上,再用dsp和cpld或fpga之间的端口读写来实现对flash的控制线的控制。

但这样的做法使得在硬件连接上有些浪费,而且也使烧写flash和自举加载的程序变得复杂。不知对于54x的这个问题上,大家有何高见?

系统分类: DSP
用户分类: 技术文章
标签: 无标签
来源: 原创
发表评论 阅读全文(225) | 回复(0)

1

关于投票
讨论:Auto MDI/MDIX自动翻转功能

    呵呵,时隔一年多,又开始写博啦。还是有些东西可写的。关键是能有一个和大家伙交流的机会,挺好的。

    最近在和一个兄弟单位联调时遇到了一个新鲜东西。也许已经不是什么新鲜东西了,反正我觉得挺新鲜的,拿来和大家讨论一下,呵呵。

    当时,两台设备之间需要连接一条网线,为了方便就直接把两台设备各接出一根网线都插到同一个hub上去了。但是插上以后我才想起来我那根网线是双机互联线(也就是收发跳线的那种线),而连hub的线是要用直通线的。

    正准备去找网线换的时候,竟然发现网络已经通了,而且可以正常互发数据!当时觉得很诧异。后来在hub的包装盒上发现了这样的字样“带有Auto MDI/MDIX自动翻转功能”。看来肯定是这个功能使得无论是交叉线还是直连线都能使用了。

    于是回来在网上搜了一下,首先是“

    什么叫 mdi 端口?是否 mdi 和 mdix 是成对出现的?起什么作用?

MDI口是快速以太网100BASE-T定义的与介质有关接口(Media Dependent Interface)。MDI是指通过收发器发送的100BASE-T信号,即100BASE-TX、FX、T4或T2信号。将集线器连接网络接口卡时,其发送和接收对通常是相互连接的。集线器之间连接时,通常需要一条跨接电缆,其中的发送和接收对是反接的。MDI是正常的UTP或STP连接,而MDI-X连接器的发送和接收对是在内部反接的,这就使得不同的设备(如集线器-集线器或集电器-交换机),可以利用常规的UTP或STP电缆实现背靠背的级联。”

而后又搜“Auto MDI/MDIX ”,有这样一篇文章介绍的比较全面“

有过几年网络管理员经验的读者一定都知道在选择网线的时候需要注意一点的就是线序问题,我们常见的网线也主要分两种,一种是正线,另一种是反线。一般来说正线用于交换机连接路由器,交换机连接PC机;而反线则用于交换机连接交换机,路由器连接路由器,PC机连接PC机以及路由器连接PC机。不过近几年生产网络设备的厂商研发了一种叫做线序自适应的功能,通过这个功能可以自动检测连接到自己接口上的网线类型,能够自动进行调节。但是笔者在实际使用中却因为过分相信这个线序自适应而遭遇了网络故障,在这里笔者将问题的全过程写出来和各位IT168的读者分享,希望各位网管员在以后选择网线连接设备时一定要谨慎。
    故障起因与排除:
    笔者也知道交换机有这种自适应功能,所以平时身边只需要随身携带一根正线网线即可。不过在最近一次网络调试中却着实让我为难了一把。事情是这样的:笔者接到下属部门的电话说发现有两台路由器无法正常通讯。于是拿着设备就赶往下属部门,进入其中一台路由器设置界面发现与另一个路由器连接的以太网端口根本没有激活,就好象没有连接任何网线一样。可是实际中却实实在在的用一根网线连接了两台路由器的LAN1以太接口。为什么会这样呢?笔者知道按照正常情况路由器和路由器之间连接应该使用反线,但是随着技术的发展,端口都具有跳线自适应功能,不管你用反线还是正线连接这些设备都可以工作的。不过为了保险笔者还是找了一根反线将原来的正线进行了替换。没想到问题一下解决了。两个路由器的接口都处于激活连接状态,网络也没有阻断问题了。

    故障分析:
    那么为什么用反线将原来的正线替换后网络就恢复正常了呢?这能说明一点的就是用正线连接两台路由器是行不通的。看来跳线的自适应并不是出现在每个设备上的,笔者使用的华为2621路由器的端口就不支持跳线自适应。所以说各位读者在连接设备时不要想当然的以为所有接口都是自适应正线反线,特别是路由器接口,大部分不支持跳线自适应功能,而对交换机来说则大部分支持这种线序自适应。最后笔者还询问了下属公司的网络管理员是否动过网线,得到的答复是前几天应急把这两台路由器之前的网线拿到别处了,而原来的网线是反线,由于下属公司的网络管理员认为路由器端口可以自适应所以拿了一条正线进行连接。


    什么情况下可以线序自适应:
   也许有的读者会问为什么有的路由器接口支持自适应线序呢?如何来区分自己的设备是否支持此功能呢?下面我们就来介绍这方面的知识。

    所谓跳线自适应或者自适应线序,正确的叫法应该是端口MDI/MDIX自动适应,只有支持端口MDI/MDIX自动适应的端口才允许用户从任何一个端口连接到工作站,服务器或其它路由器交换机,而不需改变通常的双绞线连接方式,正线反线都可以正常工作。如何确认自己的设备端口支持跳线自适应功能呢?主要有以下几个方法。

    查看用户手册:
    看说明书上有哪些端口写明了支持Auto MDI/MDIX自适应,记住只有写明支持Auto MDI/MDIX自适应才说明有此功能。否则我们依然需要按照常规的连接方式来连接不同设备。

    查看面板按钮:
    一般交换机设备上会有一个MDI/MDIX按钮,不过有的路由器也拥有此按钮,我们可以通过按该按钮在MDI和MDIX工作模式之间进行切换。从而实现了同样两个设备可以使用不同线序的网线来连接,正线和反线连接设备只需要通过MDI/MDIX按钮来切换就可以满足需求。当然在实际连接时我们可以先在MDI模式工作,如果网络有问题或者端口不激活再切换到MDIX模式即可。

    查看管理台命令:
    有的设备可以通过内部命令来完成端口在MDI和MDIX之间的切换工作。具体命令如下——[Quidway-Ethernet0/1]mdi {across|normal|auto}

    输入“mdi auto”就是启用Auto MDI/MDIX自适应功能,输入mdi across就是使用mdix连接模式,输入mdi normal就是使用常规的mdi连接模式。当然为了方便我们日常工作维护,笔者建议大家在使用过程中直接输入mdi auto命令,这样不管你的线缆是什么类型路由器都会和传统交换机一样自动适应线序。

    对于大部分交换机来说端口都是支持Auto MDI/MDIX自适应功能的,但是路由器的接口就不一定了,所以我们在按照网络拓扑连接网络设备时最好不要想当然的认为所有设备都支持Auto MDI/MDIX自适应功能,挑选连接网线时也要特别注意,不要正线反线不分的盲目使用。按照标准方法连接可以帮助我们快速解决故障,减少无谓问题的发生。

    为什么路由器不支持自适应:
笔者打电话咨询了华为3COM的工作人员,询问为什么华为3COM 2621路由器不提供线缆线序的自动适应功能。得到的答复是该做法是为了方便用户,因为一般情况下路由器连接对象都是交换机,交换机可以实现线序的自动适应,所以路由器上不用重复添加了。而且添加一个功能就要提高相应的成本,华为3COM公司不在路由器上添加线序自适应的功能也是从用户角度考虑,降低产品成本。另外CISCO公司的路由器也不支持这种线序自适应。不过根据华为3COM工作人员的介绍,目前华为3COM的MSR路由器等新产品已经具备了这种端口线序自适应功能,这样用户在连接网络设备时会更加轻松,更加方便。

    总结:
    本次故障告诉了我们并不是越贵的设备功能越强,按照常理路由器价格要远远高于普通的交换机,所以他的端口应该能够支持线序自适应,然而现实和理论是不相符的,华为3COM的2621路由器两个LAN端口不支持这种线序自适应,我们在连接设备时必须按照常规的线缆连接规则去实施。”

   

    恩,功能上基本弄清楚了。但是还是不甘心。想弄清楚它的实现原理。可是搜了半天,也没有结果。不知道哪位知道这个Auto MDI/MDIX自动翻转功能的原理啊?在这里设个小问题吧,呵呵。

系统分类: 接口电路
用户分类: 技术文章
标签: 无标签
来源: 原创
发表评论 阅读全文(915) | 回复(7)

2

关于投票
FPGA功率计算方法

最近在设计制作一块上面有DSP和FPGA的板子。在设计电源部分时,首先要考虑的是每种电压要通过的最大电流是多少,这样才能根据选择适当的电源芯片。

在这几块主要芯片中,最难确定的就是FPGA的功率。这次使用的是Xilinx的FPGA。在网上查了一下,基本上有两种方法:

1.用ISE自带的一个组件“XPower"进行计算。

2.用Xilinx网站上的一个计算 器件功率的网页进行估计。

在试了两种方法后,还是没有搞定。请各位高手支招阿,呵呵。下面是具体过程:

1.先打开了FPGA的XPower组件,之后它让输入工程文件和仿真文件。由于只有工程文件,就输了进去进行计算。但只得到了静态的功耗值,估计是没有输入仿真文件就得不到动态运行时的功耗。之后看它需要输入的仿真文件,为modelsim输出的仿真格式。于是开始装modelsim进行仿真。但仿真总是不成功,后来分析原因可能是由于modelsim不支持两种硬件描述语言混合编成的程序仿真。所以这种方法放弃了。

2.上到Xilinx的网站,找到那个计算功耗的网页。晕,发现上面让输入的参数好多阿。好像包括每一个用到的信号的频率,门的翻转数量什么的。不太会填阿。最后还是放弃了。

经过上面的过程后,还是没能够有一个定量的估计。不知道各位高手有什么方法,教导一二。感谢!

系统分类: 电源技术
用户分类: 技术文章
标签: 无标签
来源: 原创
发表评论 阅读全文(1212) | 回复(4)
总共 , 当前 /