tag 标签: spi

相关帖子
相关博文
  • 热度 1
    2014-11-12 16:55
    1634 次阅读|
    0 个评论
    In my previous blog , I briefly tackled the Programmable System-on-Chip (PSoC) devices from Cypress Semiconductor.   The PSoC devices offer varying amounts of programmable analog and programmable digital fabric and memory. Members of the PSoC 1 family also include Cypress's proprietary 8-bit M8C processor core; members of the PSoC 3 family include an 8-bit 8051 core; members of the PSoC 4 family include a 32-bit ARM Cortex-M0 core; and members of the PSoC 5 family boast a 32-bit ARM Cortex-M3 core.   For my current project, I decided that a PSoC 4 would be able to offer all the capabilities and functions I require. With the aid of the PSoC 4 Pioneer Kit (Arduino shield compatible), I quickly established that the PSoC 4200 would meet my needs. Since this project was a rush job, I quickly committed to a PCB so that it could be produced in parallel with the rest of the development.   For maximum configurability, PSoC devices contain reconfigurable logic blocks called Universal Digital Blocks (UDBs). The PSoC 5 has up to 24 of these UDBs while the PSoC 4200 has 4 (the PSoC 4100 has none). In the PSoC 4, some of these UDBs are replaced with components that are not as configurable. In some cases, the I/O pins are proscribed, nudging this approach closer to a normal microcontroller. When comparing the PSoC 4 to the PSoC 5, in addition to the differences between the ARM Cortex M0 and M3, there are also differences with regards to the clock frequency, Flash, SRAM, and the speed of the peripherals like the ADC (analog-to-digital converter).   As a starting point for my project, I required a two-channel ADC. You can see its placement on the device schematic in Figure 1.   Figure 1. The ADC component has been placed and the input pins named and attached. Part of the configuration of the ADC options is shown here.   My initial thought was that the IP block for the ADC on the PSoC 4 would be nominally the same as on the PSoC 5 (which I used for a previous project), but this was not the case. Cypress has rethought this and created the ADC block with quite a few nice touches. Even though there is only one ADC, it can be configured with up to four differential channels that will automatically sequence through their conversions (you can set delays on each conversion). Furthermore, you can build in averaging automatically, thereby saving you writing the code. Other IP components in the device show a similar flair.   In order to drive my bi-colored LEDs (as discussed in my previous blog) I needed a PWM controller, but I wanted to use a single PWM for both the red and green since I wasn't varying the shade of orange. I added a few logic gates as illustrated in Figure 2, and I had the functionality that I was looking for. You can't do that on many micros!   Figure 2. The output of the PWM is conditioned by the addition of two AND gates and a control register so that I can have blank, red, green, or orange, with the brightness being controlled by the PWM ratio. The second bi-color LED has another PWM controller configured in exactly the same way.   After I had realized this approach, I was looking at the different components (in the form of IP configurations) and came across a device called a PrISM (Precision Illumination Signal Modulation) which had two PWM outputs and the ability to independently control them, which is pretty much had what I had set up. It also has a pseudo random PWM variation to reduce EMI noise. Unfortunately, this is where I bumped into having laid out the PCB beforehand. There weren't enough resources to allow me to use the PriSM and the SPI controller and some other components that I had selected. If I had laid out the PCB for the fixed output pin version of the SPI, everything would have been fine. It would have been nice to use the PrISM, but not using it wasn't a show-stopper.   Amongst the multitude of "components" that are provided, there is also a switch de-bouncer, which makes coding and debugging even easier. There are also gates, flip-flops, counters, timers, quadrature decoders, and registers to name but a few, as well as the "CapSense" touch button ability. An additional benefit is that you can bring out the internal nets by wiring them to unused pins, and I would say that making sure you keep a couple of pins free is good design practice when using a PSoC.   On the downside, I am not impressed with the watchdog timer and there are some elements of the development environment that irritate me. I have worked with many different emulators and there are some aspects to this one that seem a little petty. I can live with only four hardware breakpoints (I think it used to be three -- it looks like they have added one), but what really irritates me is that when the process hits a breakpoint, you have to clear that breakpoint to continue. Apparently this is because if you have a pending interrupt -- and who doesn't have a tick interrupt? -- the next instruction executed will be in the interrupt routine, after which it will return to the breakpoint and stop, so you never progress.   Let me explain this a little more. Assume you hit the breakpoint and you haven't quite figured out what the problem is. You want the program to run through the "loop" and then break at the same point, but you have to clear the breakpoint to continue. The only way round this is to set a new breakpoint an instruction or two later in the code, turn off the current breakpoint, run to the new breakpoint, renew the original breakpoint, turn off the temporary breakpoint, and then continue. This is time-consuming and mouse-intensive. Single-stepping has much the same issue and I hardly use it. No other emulator that I have used has this problem, but then those also stop the clock to the peripherals, so no interrupt would occur anyway.The emulator also seems to have a bug that it locks up in some circumstances. I am told that the latest version, Creator 3.0SP1, solves this.   And I have a word of general caution for all compiler users. The Keil compiler uses the paradigm of a debug and release mode when it comes to the output .hex file. Unfortunately, the two results don't have the same optimization settings. I had coded a bit-banging SPI to use with a test jig and it worked fine when I was debugging, but in the "release" version it would not work. It turned out the compiler had optimized away the dummy memory accesses (like cDummy++;) that I had used for set up delay and the like, and possibly even the bit toggles. The end result was that 24 clock pulses were merged into a single clock pulse and, of course, the receiving shift register did not work. Once I had adjusted some of the optimization settings, the problem was resolved.   Figure 3. The finished product. There are also two SOIC8s and a few resistors on the underside.   Working with a PSoC, you can really configure everything to your heart's content. This is great fun, which is why I like to work with these parts. If there is a problem, you can change your approach in a flash (pun unintended) without changing the PCB. My final configuration for this project has two PWMs (with additional gating), a dual-channel, single-ended 12-bit ADC (with scanning and averaging), four de-bounced inputs, an SPI master, and two op-amps.   Just so you know, I have no affiliation whatsoever with Cypress Semiconductor -- I just like using their PSoCs. How about you -- have you used these devices, or are you thinking about doing so? If you are interested in discovering more, you might want to take a look at the PSoC 4 CY8CKIT-049 4xxx Prototyping Kits, which are an amazing bargain at only $4 each.   Aubrey Kagan is engineering Manager at Emphatec .
  • 2014-9-18 17:23
    885 次阅读|
    0 个评论
    WIZnet W5500 支持高达 80MHz SPI 时钟,所以用户可用 MCU来提供一个最大传输速率的高速以太网SPI通讯。本文中,我将展示如何用STM32 MCU来让W5500达到最大传输速率。 当使用来自STMicro的Cortex M3/M4产线的32位处理器,以太网传输速率可以在使用SPI通讯模式事产生最大变化。我将比较使用SPI标准模式和SPI DMA模式的不同传输速率。 组成     MCU : Nucleo STM32F401RE 以太网控制器 : WIZnet WIZ550io(内嵌 W5500) 引脚连接 MCU与WIZnet WIZ550io之间的引脚连接,请参见下表。 首先,连接电源线。 其次,连接SPI信号。连接SCS 引脚到GPIOA_Pin12,因为我将用软件方法处理它。 第三,连接 RSTn 引脚到 GPIOA_Pin11 来复位WIZ550io. 最后, 用GPIOA_pin1这个引脚连接到W550io的RDY引脚上完成初始化. RSTn 引脚和 RDY 引脚的连接并不至关重要,但是连上更稳定. 怎样实现SPI协议  SPI 协议控制W5500和在SPI标准模式及SPI DMA模式是相同的。然而,这两种模式之间的不同是,在SPI总线的数据之间的空闲时间。用于W5500的SPI协议在WIZnet ioLibrary中W5500.c中提供,具有如下功能。 WIZCHIP_READ(uint32_t AddrSel) WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb) WIZCHIP_READ_BUF(uint32_t AddrSel, uint8_t* pBuf, uint16_t len) WIZCHIP_WRITE_BUF(uint32_t AddrSel, uint8_t* pBuf, uint16_t len) 当SPI DMA 模式未使用时, 内部函数调用标准SPI 读/写函数,比如下面的WIZCHIP_READ_BUF() 功能。 #if !defined (SPI_DMA) WIZCHIP.IF.SPI._write_byte((AddrSel 0x00FF0000) 16); WIZCHIP.IF.SPI._write_byte((AddrSel 0x0000FF00) 8); WIZCHIP.IF.SPI._write_byte((AddrSel 0x000000FF) 0); for(i = 0; i len; i++) pBuf = WIZCHIP.IF.SPI._read_byte(); 当使用 SPI DMA 模式时,准备命令数据,由地址和操作码组成,称作 SPI_DMA_READ() 函数。 #else spi_data = (AddrSel 0x00FF0000) 16; spi_data = (AddrSel 0x0000FF00) 8; spi_data = (AddrSel 0x000000FF) 0; SPI_DMA_READ(spi_data, pBuf, len); #endif 正如在“如何在STM32F2xx or STM32F4xx中使用SPI DMA来完成全双攻通信”, SPI_DMA_READ() 和 SPI_DMA_WRITE() 是由使用SPI DMA模式的代码组成的。 标准 SPI 模式  SPI DMA 模式的性能比较  下面相关数据的源代码是用于loopback测试的例程。可以看到在标准SPI模式和SPI DMA模式中存在多大的性能差异。 标准SPI模式 在 spi_handler.h 中 #ifndef SPI_DMA //#define SPI_DMA #endif 如果你把“#define SPI_DMA” 行打上注释,你将在标准SPI模式下操作。 如果你在Nucleo板上编译之后下载了二进制文件,并用WIZnet提供的AX1.exe上做了loopback的测试,随后传输和接收就如下图所示分别能达到 1.6Mbps,我们可知SPI全速传输速率高达3.2Mbps。 这里, SPI 时钟是 24MHz,你可以清晰的看到在SPI数据间的空闲时间。   SPI DMA 模式 #ifndef SPI_DMA #define SPI_DMA #endif 如上, 移去 “#define SPI_DMA”行注释. 接下来, 如果你下载二进制文件到 Nucleo, 然后你就能看到 SPI DMA 模式的传输速率。传输和接收的loopback测试性能可分别达到  4.3Mbps,并且 SPI全速传输速率超过 8Mbps。如果你使用自己的板子,并且有一个高速的外部时钟来代替Nucleo 板, 随之你就得到了更快的传输速率。 这里, 你可以看到无任何空闲时间的连续SPI通讯,如下图。 by James YS Kim
  • 热度 4
    2013-9-3 22:05
    853 次阅读|
    3 个评论
    今天说说关于Kinetis KL25芯片内部的SPI模块!KL25内部的SPI模块可把我整惨了,今天FreeScale的 FAE终于跟我发来了邮件,问题也就解决了,下面来总结关于Kinetis KL系列内部的SPI模块! Kinetis与传统MCU一样内部提供了SPI模块,在KL系列中一般为两个SPI模块,SPI0和SPI1.SPI0使用的 是Bus Clock,SPI1使用的是System Clock传输速率最高可达时钟源的1/2,已经算是相当快了,但在 有些情况下需要注意传输速率不要超过DataSheet中给出的参数。Kinetis MCU的SPI模块支持DMA传输 ,能大大加快数据传输的速度。 其实Kietis内部的SPI模块操作起来并不复杂,甚至于比16位MCU内部的SPI模块都要简单,如PIC系列M CU。那为什么会出现它困扰了我这么长时间呢!第一:FreeScale的芯片稍微有点操蛋,第二:我连线 的方法有点问题。首先说说我的解决过程,本来是想用Kinetis内部的SPI去驱动一块SPI接口的液晶屏 结果没有搞成功,于是单步调试,问题就出在我用单步调试上,我想通过单步调试看相关寄存器标志位 的变化,以及SPI数据缓冲寄存器的值,结果就是不管怎么调SPI模块寄存器的标志位和数据寄存器的 反应跟它的数据手册上完全不同,于是便将自己的代码上传到论坛去问FreeScale的FAE,他们都说代码 没有问题,也不知道怎么回事,今天终于收到了苏州总部的邮件原来它娘的SPI模块不能单步调试,单步 就有问题,标志位的变化就会不同,会把SPI的时序打乱,这告诉我们一点有些东西并不能完全以标志位判断,还是根据老示波器之类的仪器(可怜我没有示波器)。还有就是我的连线有点问题,我接成了MOSI- MISO,MISO-MOSI,真是一失足成千三古恨啊!下面我将基于IAR的SPI代码上传,希望能对其它人有所帮 助! SPI模块图 SPI操作流程图
  • 热度 1
    2013-6-20 18:46
    563 次阅读|
    0 个评论
      以前常直接调用接口函数来使用,但这一次需要自己实现这些硬件的基本程序,发现对于SPI还是没有真正理解。做的过程中遇到了一些小问题,思考并记录下来。   SPI是由发送驱动时钟线工作的,在发送的同时,有数据移位进入接收寄存器,至少在STM8和STM32上是这样。 所以无论是进行读或写,实际上硬件都操作了硬件中的发送和接收寄存器。   所以这中间,对于底层SPI而言只需要一个函数就可以实现数据接收与发送。   但是对于具体操作的芯片而言要具体问题具体分析。 写数据的过程可能差不多, 但是读的过程可能会千差万别。   在读的时候,发送什么数据,可能是他们之间最大的差别。   还有一个是时钟,SPI时钟的设置需要符合操作新芯片的时序。这个是由具体芯片的时序决定的。 即:什么时间数据应该稳定,什么时间允许数据变化,需要读取多少个字节。在读取结束后,时钟线应该处于低电平还是高电平。   当操作结束后,需要进行的就是禁止芯片的SPI,这个时候操作基本是类似的。首先判断发送是否结束,判断是否忙碌,如果都符合就禁止芯片的SPI。
  • 热度 1
    2013-1-20 11:37
    443 次阅读|
    0 个评论
    以Acute TL2236逻辑分析仪进行串行闪存量测方案 在许多的电子产品中都有使用串行闪存(Serial/SPI Flash)的需求,它有较简单的控制程序与电路以及可靠的储存能力,使它倍受青睐。因此,常被用于电子产品里放置较关键的开机程序(Boot code)或系统设定数据(System setting)。 每当系统启动时,Serial Flash 就会忙碌起来,尽快的把储存在里面的程序或数据加载系统内。但越来越复杂的命令组合以及命令差异,使得开发与除错工作变得更加困难。本文将会介绍使用逻辑分析仪来进行 Serial Flash 的量测工作。 单线模式译码 早期的 Serial Flash 使用 SPI 总线架构,定义了 4 根与命令数据传输有关的脚位分别是 Chip Select (CS)、Clock (SCK) 、Data In (DI) 、Data Out (DO)。传输时,由 DI 将命令或数据传入 Serial Flash,而 DO 将数据读出。如图一所示。一般称之为单线模式(Single mode)。 * JEDEC Standard No.216: (x-y-z): 标示Serial Flash  I/O 的模式,分别为命令码(opcode x),地址(address y),数据(Data z)。 用户若需量测 Serial Flash 总线时,只需使用具有 SPI 总线的仪器或工具,就可以将单线模式之Serial Flash 命令/地址/数据解出。这是业界行之多年的作法。 双线及四线模式译码 有鉴于电子产品越来越需要大容量的储存空间,Serial Flash 容量也顺应扩大。 储存容量扩大之后衍生而来的问题是,读取数据的时间越来越长,于是 Serial Flash 开始提高其工作频率,藉由较高的传输频率,以缩短传输数据的时间。 但这样还是不够快,因此进一步发展出现所谓双线模式(Dual mode)如图二,与四线模式(Quad Mode),如图三的 Serial Flash。其总线传输的架构,已渐渐与单线模式之 SPI 架构不同,也使原有的 SPI 仪器或工具用在此类 Serial Flash 的总线除错工作开始出现困难。 在各厂商所推出的Serial Flash,更增加了多种不同数量的命令与数据组合,若没办法识别 Flash 命令的软件工具,将很难看出总线的内容。因为这样的需求,使得具有支持 Serial Flash 总线分析的逻辑分析仪成为不可或缺的工具,它可协助分析这种多样性的讯号。他可以随着 Flash 命令的改变,而做出相应的分析。 使用逻辑分析仪分析不同命令组合分析  A. 随着命令的不同,Serial Flash 会以不同数量的传输线工作 下列的范例,列举了几个不同形式结构的 Serial Flash 结构,可以一窥命令差异所带来的影响。  范例一:如图四所示,此命令 3Bh (Fast Read Dual I/O) 是个 (1-1-2) 结构的命令,输入命令与地址时只需要使用 1 条线,但数据输出时为双线。图例可以看出,传送命令须使用 8个 Clock,但接收数据只需 4 个 Clock。 图四 Flash 命令 3Bh 波形画面 (1-1-2)  范例二: 如图五所示,此命令 EBh (Fast Read Quad I/O) 是个 (1-4-4)结构的命令,输入命令使用 1条线,但地址与数据皆为 4 条线。图例可以看出,传送命令须使用 8个 Clock,但传送地址与接收数据只需 2 个 Clock。 图五 Flash 命令 EBh波形画面(1-4-4) 范例三:如图六所示,此命令 6Bh(Fast Read Quad Ouput)是个 (1-1-4) 结构 的命令,与地址时只需要使用 1 条线,但数据输出时为 4线。图例可以看出,传送命令与地址须使用 8个 Clock,但接收数据只需 2 个 Clock。   图六 Flash 命令 6Bh波形画面(1-1-4)  B. 更胜于 SPI 总线分析的功能 如图七所示,可看出有别于 SPI 数据输入与输出分成两条线时,不容易判别何时是数据输出的时间点。在光标A所在位置,就是 Serial Flash 开始输出数据的地方,从信道 SPI-DO 查看时必须自行数到第5个Byte 才算是数据输出点。  有时候 Serial Flash 在输入时还会安插 Dummy Byte,这样就更增加查看输出讯号的困扰。但若采用 Serial Flash 总线分析,藉由清楚的文字说明,就可以清楚的标示来数据的意义。   图七 Serial Flash(SFlash) 与 SPI (SPI-DI, SPI-DO) 总线分析比较  C. 效能提升模式 PEM (Performance enhance mode)的分析 为了加快 Flash 数据传输速度,在进入效能提升模式后,读取数据不需要再下命令;因此第一笔输入数据即为地址,而非命令。此法可减少下命令的次数,以达到加速的效果。  由于效能提升模式的设定参数,都是包含在 Dummy byte 里面。而且,各 厂商之设定(Set)与取消 (Reset) 规则也不同,也使得判读上困难许多。如图八所示,就是一个设定进入效能提升模式波形范例。 图八 即使Flash 进入效能提升模式,地址与数据也可正确地被分析出来  D. 逻辑分析仪 Serial Flash 分析设定画面 在设定画面左上角,可选择不同的 Flash 制造商及Flash型号。分析软件已经收录 Flash Data Sheet 数据,作为分析的参考,实时没有完全对应到型号,也可以拿兼容的型号来解碼都是可以的。  设定画面左侧则是信道设定及译码分析设定,有些设定值如 QPI(Quad Peripheral Interface)模式,在系统启动时就被软件设定好。这样的话使用者也可以透过手动的方式指定逻辑分析仪分析,就可以无误的解析出数据,如图九所示。 图九 Serial Flash 分析设定画面 E. 完整的Serial Flash分析报告 不管是多线的组合或是效能提升模式都可藉由完整的报告,将命令、地址、提升模式设定值、数据(十六进制与 ASCII) 都可详细的呈现。这样,就可快速的得知分析的内容,尽速的找到问题点,如图十所示。 图十 Serial Flash 分析报告 利用 SPI 触发来进行讯号定位 虽然 Serial Flash 会有多线的组合,但仍有一部分的命令及地址是单线模式。因此,可利用逻辑分析仪的 SPI触发功能协助讯号定位。图十一即是使用 SPI 触发功能,主要就是把将命令及地址数据输入。这样,就可以针对特定条件进行触发。 图十一 设定 SPI触发功能以触发 Serial Flash 命令0Bh,地址 12h 23h 45h. After CS 打勾的意思是指从 CS go low 之后就开始判断  在使用SPI触发的同一个时间,若可以将逻辑分析仪与示波器堆栈,就可以使用逻辑分析仪替示波器定位,如图十二所示。这样,问题分析就同时具有 Serial Flash 数字与模拟讯号的分析,更加的详尽清楚。透过档案共享,亦可使整个工作团队共享撷取的讯号,加快分析问题的速度 图十二 结合逻辑分析仪与示波器来看 Serial Flash 总线讯号   结语  藉由本文的介绍,Serial Flash 总线分析工作将可藉由逻辑分析仪触发及软件的配合。使原本复杂的命令组合变化及命令的定位工作都变得容易控制。这样,使用者可专心于确认本身的设计问题,而不用花费时间去找到错误波形及分析。这会是个非常有效率的解决方案。   深圳市千兆科科技有限公司 0755-23062736 www.giga-science.com
相关资源
  • 所需E币: 4
    时间: 2019-12-26 00:58
    大小: 230.51KB
    上传者: 238112554_qq
    X250454KSPI具有可编程μP监控器的串行E2PROM……
  • 所需E币: 5
    时间: 2019-12-26 00:50
    大小: 45.98KB
    上传者: 238112554_qq
    SPI总线驱动中间件源代码……
  • 所需E币: 5
    时间: 2019-12-25 23:00
    大小: 13.5KB
    上传者: 微风DS
    自从2000MCU和DSP完全分家,大家对DSP的认识多为"将部分程序固化从而实现更快处理速度的MCU",但这个解释总是有点牵强人意。再加上目前流传着这样的一种说法:DSP取代单片机的技术和价格的市场条件已经成熟,大规模推广指日可待。真的是这样的吗?笔者不敢苟同。单片机和DSP各有所长,AVR90单片机是125纳秒一个周期(也是哈弗结构),其内部有SPI、UART等,如果用来作控制、数据采集,只要速度要求不是太高,那么都可以用它,而且用它比用DSP方便。但是如果你的工程中有比较多的算法,特别是信号处理算法,那么用DSP就对了,此时单片机是不能胜任的。……
  • 所需E币: 4
    时间: 2019-12-25 21:55
    大小: 24.31KB
    上传者: 2iot
    本应用指南描述了如何利用D.Module的用户可编程CPLD内部的SPI接口来连接慢速外设。……
  • 所需E币: 4
    时间: 2019-12-27 19:39
    大小: 117.53KB
    上传者: 238112554_qq
    SPI主机端数据表SPIMV1.1文件。SPI主机端数据表SPIMV1.1001-65691Rev.**SPIMasterCopyright2005-2010CypressSemiconductorCorporation.AllRightsReserved.API存储器(字节)资源闪存RAM引脚CY7C639/638/633/602/601xx,CYRF69xx3MOSI/MISO/SCLK3803-4SDIO/SCK3802-3特性与概述支持串行外设互连(SPI)主机端协议支持SPI时钟模式0、1、2和3SPI完成为条件的可编程中断可独立选择SPI从器件SPIM用户模块是一种串行外设互连主机端。它执行全双工同步8-bit数据传输。可指定SC……
  • 所需E币: 3
    时间: 2019-12-25 21:11
    大小: 85.5KB
    上传者: givh79_163.com
    介绍MBF200的性能、结构及工作原理。实现基于MBF200的SPI型指纹采集系统设计。该采集系统具有自动检测指纹、结构简单、使用方便的特点。……
  • 所需E币: 4
    时间: 2019-12-25 21:10
    大小: 72.5KB
    上传者: 16245458_qq.com
    介绍一种应用于实际工业生产现场中的大型LED显示系统的设计和研制。该系统采用高性能32位ARM微处理器为其控制核心,并由其实现LED显示屏刷新及动态显示效果的控制。系统通过RS485协议与现场总线进行数据通信,LED显示屏的行、列驱动信号分别由ARM处理器的2个SPI口输出。该系统具有硬件结构简单、LED显示刷新速度快、系统可靠、功能强大、成本适宜等特点。本方案经过在某大型物流生产线上的长期实际运行,证明其设计是成功的。……
  • 所需E币: 5
    时间: 2019-12-25 21:09
    大小: 142KB
    上传者: 微风DS
    SoC是超大规模集成电路的发展趋势和新世纪集成电路的主流[1]。其复杂性以及快速完成设计、降低成本等要求,决定了系统级芯片的设计必须采用IP(IntellectualProperty)复用的方法。本文介绍以可复用IP设计方法,设计串行外设接口SPI(SerialPeripheralInterface)模块IP核的思路,用Verilog语言实现,并经FPGA验证,通过TSMC(台湾集成电路制造公司)的0.25μm工艺生产线流水实现,完成预期功能。……
  • 所需E币: 3
    时间: 2019-12-28 19:17
    大小: 274.78KB
    上传者: wsu_w_hotmail.com
    LTC2433-1用于DC测量的高性能16位增量累加型ADC,由一个1.45μrms的输入噪声层和一个100mV至VCC的基准范围,输入分辨率和范围可针对众多的应用进行优化。灵活的SPI接口可被配置为自同步,这样使其数字信号隔离或电平移位得以简化。……
  • 所需E币: 5
    时间: 2019-12-28 21:46
    大小: 214.55KB
    上传者: 238112554_qq
    外设技术……
  • 所需E币: 5
    时间: 2019-12-25 17:29
    大小: 81.08KB
    上传者: 二不过三
    SoC是超大规模集成电路的发展趋势和新世纪集成电路的主流。其复杂性以及快速完成设计、降低成本等要求,决定了系统级芯片的设计必须采用IP(IntellectualProperty)复用的方法。本文介绍以可复用IP设计方法,设计串行外设接口SPI(SerialPeripheralInterface)模块IP核的思路,用Verilog语言实现,并经FPGA验证,通过TSMC(台湾集成电路制造公司)的0.25μm工艺生产线流水实现,完成预期功能。……
  • 所需E币: 5
    时间: 2019-12-28 23:45
    大小: 38KB
    上传者: givh79_163.com
    AninterfacecircuitusestheDallasSemiconductor1-Wireserialbustoprovideisolatedpowerandbidirectionalcommunicationsbetweenamaster(MCU)andasensingelement.……
  • 所需E币: 5
    时间: 2019-12-28 23:51
    大小: 334.57KB
    上传者: quw431979_163.com
    MAX3420ESPI接口的USB外设控制器编程指南……
  • 所需E币: 4
    时间: 2019-12-25 16:45
    大小: 920.65KB
    上传者: rdg1993
    周立功ARM468问……
  • 所需E币: 4
    时间: 2019-12-25 16:32
    大小: 26.23MB
    上传者: 978461154_qq
    這本書是以8051例,介紹embeddedsystem軟硬件設計的技巧。[GeneralInformation]书名……
  • 所需E币: 4
    时间: 2019-12-30 10:18
    大小: 152.66KB
    上传者: 微风DS
    MAX1247是美国MAXIM公司生产的一种新型12位A/D转换器。文中介绍了它的功能、工作模式及转换参数,并给出了MAX1247与MCS-51的软件接口程序。……
  • 所需E币: 3
    时间: 2019-12-25 16:01
    大小: 334.18KB
    上传者: rdg1993
    1)不要贪快,俗话说得好:欲速则不达。毕竟硬件的编程和软件的编程还是有很大的不同,否则一旦出错,无从下手2)做到一定程度,要存档,要总结。(备份)3)要看你所开发的DSP的文档,并且要详细反复的看,这一点尤为重要。4)多参考示例代码,毕竟创造要有基础作保证。北京三恒星科技公司http//www.sanhengxing.comSHX-DSP2812开发板用户手册简介1北京三恒星科技公司http//www.sanhengxing.com在使用SHX-DSP2812开发板之前,请务必仔细阅读使用说明。在了解开发板的操作步骤并安装了相关应用软件后,才可以上电进行相关实验。1.产品简介1.1SHX-DSP2812开发板系统简介本说明书是TMS320F2812开发板板的硬件使用说明书,详细描述了2812开发板的硬件构成、原理,以及它的使用方法和编程指导。开发板实物图本套件是基于TMS320F2812DSP的学习开发平台,将DSP2812的功能发挥的淋漓尽致,用户手册详实易懂,是初学者学习2812的首选之品。1.2.系统资源DSP处理器TMS320F2812,最高工作频率150MHz;DSP芯片内置18KX16位SRAM,4KX16位BOOTROM,1KX16位OPTROM;DSP芯片内置128KX16位FLASH;外扩32k×16bit的程序RAM,32k×16bit的数据RAM;监视用LED发光管一个;DSP所有功能引脚引出,176pin;4MB程序、数据寻址空间;I/O输入输出模块……
  • 所需E币: 5
    时间: 2019-12-25 15:41
    大小: 217.59KB
    上传者: 16245458_qq.com
    提供了基于FPGA/CPLD的数字化音频处理系统的典型解决方案.该方案由语音芯片(TLV320AIC23)和处理器(FPGA/CPLD)两部分组成.语音芯片完成模拟语音信号与数字信号之间的相互转换,包括ADC和DAC;处理器则完成对经模数转换后的语音信号在数字域处理的过程.该方案可以充分发挥FPGA/CPLD所具有的灵活性好、实时性能高及并行处理能力强的特点.基于音频编解码器TLV320AIC23与FPGA/CPLD的数字化语音处理系统袁晔1,韩立金2,景晓军1(1.北京邮电大学电信工程学院,北京100876;2.北京邮电大学信息工程学院,北京100876)摘要:提供了基于FPGA/CPLD的数字化音频处理系统的典型解决方案。该方案由语音芯片(TLV320AIC23)和处理器(FPGA,CPLD)两部分组成。语音芯片完成模拟语音信号与数字信号之间的相互转换,包括ADC和DAC;处理器则完成对经模数转换后的语音信号在数字域处理的过程。该方案可以充分发挥nEA,CPLD所具有的灵活性好、实时性能高及并行处理能力强的特点。关键词:语音处理音频编解码器FPGASPIDSP―ModeThedi西talaudiopIucessingsys……
  • 所需E币: 3
    时间: 2019-12-25 15:24
    大小: 592.9KB
    上传者: givh79_163.com
    USB鼠标的完整资料……
  • 所需E币: 3
    时间: 2019-12-25 15:24
    大小: 247.39KB
    上传者: 微风DS
    针MCP2515芯片的特点,提出了一种新的MCP2515驱动实现方法.把MCP2515的SPI口同MCU的SPI口相连,在EVC下用SPI接口的方式实现MCP2515的驱动.在驱动中,再加上了缓冲管理机制和双注册的机制,避免CAN总线上的干扰数据.基于缓冲管理的MCP2515驱动实现刘光伦,廖建明(电子科技大学计算机学院国际小波分析应用研究中心,四川成都610054)摘要:针MCP2515芯片的特点,提出了一种新的MCP2515驱动实现方法。把MCP2515的SPI口同MCU的SPI口相连,在EVC下用SPI接口的方式实现MCP2515的驱动。在驱动中,再加上了缓冲管理机制和双注册的机制,避免CAN总线上的干扰数据。关键词:缓冲双注册MCP2515CAN总线SPI在WINCE的驱动编写中,一般都采用标准的编写最节约成本的独立CAN协议控制器芯片‘3¨41。MCP2515方式,即分层式结构…。分层式结构驱动程序依赖于一具备最高40MHz时钟输入速度以及一个10MHz高速段可在平台间再使用的代码,以简化和缩短开发时间。SPI接口,还可根据前两个数据字节和11位标识符对报这段由微软提供的代码称为模块设备驱动程序MDD,文进行滤波。用来实现驱动程序的核心功能。MDD并不直接存取硬MCP2515能够发送和接收标准数据帧以及扩展数件,而是依靠另一段与硬件有关的代码存取硬件,这段……
广告