Questions tagged «microchip»

Microchip Technology是一家IC制造商,以其广泛的PIC微控制器以及存储器和模拟功能IC闻名。术语“微芯片”是集成电路的传统术语,不仅是Microchip Technologies设计的。该公司成立并以该术语成为普遍用语而得名。

6
DSP和标准微控制器之间有什么区别?
我了解DSP已针对数字信号处理进行了优化,但是我不确定这对选择IC的任务有何影响。我使用微控制器所做的几乎所有事情都涉及数字信号的处理! 例如,让我们比较流行的Microchip dsPIC30或33 DSP及其其他16位产品PIC24通用微控制器。dsPIC和PIC可以配置为具有相同的内存和速度,它们具有相似的外围设备,相似的A / D功能,引脚数,电流消耗等。Digikey列表中唯一出现的主要区别是其位置。振荡器。我无法通过查看价格(或其他任何字段)来区分差异。 如果我想使用使用各种协议(I2C,SPI等)的几个外部传感器,请进行一些A / D转换,将一些数据存储在串行闪存中,响应一些按钮,然后将数据推出一个字符LCD和FT232(相当通用的嵌入式系统),我应该使用哪个芯片?看来DSP不会以任何方式落后于PIC,它提供了这种神秘的“ DSP引擎”。我的代码总是做数学运算,偶尔我需要浮点数或小数,但是我不知道使用DSP是否会受益。 在另一个供应商的DSP和微控制器之间进行更一般的比较同样有用。我只是将这些用作讨论的起点。


6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

3
从PIC切换到AVR [关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我已经与PIC16和PIC18一起工作了三年多,并且也想了解AVR。我没有特定的项目,但想尝试使用不同的体系结构。我想获得有关PIC和AVR的兼容性报告。 uC的软件 我熟悉PIC16和PIC18的Assembly和C。AVR微控制器的Assembly和C变体与PIC变体有何不同?有很多区别吗? PC的软件 我需要为AVR芯片编译和组装程序的什么软件?它是免费的,我可以在哪里下载? 编程硬件 我已经使用VOTI的Wisp648对PIC进行编程,但是该板无法对AVR进行编程。我是否必须购买程序员,或者网络上有任何我可以自行构建的电路? uC的硬件 对于PIC,我已经使用了很多PIC18F4620。我正在寻找具有类似功能的AVR。我喜欢的功能有: 内部振荡器 计时器 5V和3.3V版本 ADC 具有I2C和SPI支持的MSSP (E)USART 脉宽调制 许多I / O针脚 > = 32kB程序存储器,> = 2kB RAM DIP包装 哪种AVR芯片具有相同的功能?该软件包是一个交易突破者,我真的想要DIP,PDIP或SPDIP。具有类似功能的AVR是什么? SPI和I2C变种 有人告诉我Microchip在SPI和I2C协议上有自己的变种。我经常将微芯片的SPI和I2C从器件与PIC结合使用。我可以将这些芯片(23K256,RTC,ENC28J60等)与AVR结合使用吗?除此之外,是否可以使用I2C或SPI链接AVR和PIC芯片?

2
Microchip的数据方向寄存器的缩写TRIS是什么意思?
在阅读/编写/谈论电子产品时,我喜欢理解用于寄存器,函数,文件名,引脚名称等的缩写词的缩写和简称。通常,第一次使用缩写词时,上下文或括号会引起注意。它关闭,或者很明显。 在Microchip dsPIC器件上,TRIS寄存器控制数据方向。我找不到使用完整单词/词组的便笺,该单词/词组将被缩写或首字母缩写TRIS。(“寄存器输入/输出设置”是我能想到的最好的方法,尽管“ TRIS确实是一个愚蠢的缩写”是紧随其后的猜测)。 你怎么还记得这件事?我已经听说过它是一个单词的发音,但是我想知道使记忆,阅读和书写变得更容易的含义。
13 microchip 

2
NFC和RFID芯片之间有区别吗?
前几天,我的朋友说他想编写一个使用NFC芯片在手机上读取宠物微芯片的应用程序。我告诉他,我很确定宠物微芯片不使用NFC,但是他说他很确定它们确实使用了NFC。因此,我跳到Wikipedia上并阅读了有关宠物微芯片的文章。果然,维基百科告诉我,宠物微芯片可以在RFID上运行。我的朋友说他们是同一回事。他是对的,还是只是戴着帽子说话?
12 microchip  rfid  nfc 

2
微芯片上的显微晶体管是如何制成的?
像微芯片这样的东西已经很小了,因为它能够以这种微尺度容纳数百万个甚至更小的晶体管,这又是怎么回事?对于机器来说,能够做得如此小巧并且功能强大似乎是一项壮举。也许我对此考虑过度,或者缺乏理解,但是如何才能制造出一个如此小的晶体管,用肉眼无法看到却起作用。什么机器可以做到这一点?特别是在60年代。

3
MCP2551是UART到CAN的转换器吗?
我想使用我的计算机制作250 kbit / s的CAN总线嗅探器。经过研究,我发现MCP2551是一种用于CAN物理层的电压电平调节器。请记住,我想知道此设置是否可以工作。我只想记录交换的消息以进行自动测试,而不是进行交流: PC <-> USB-UART(也许是CP2102,因为我已经有一个)<-> MCP2551 <-> CAN总线 如果不是,什么样的信号必须输入MCP2551才能使我成为总线的一部分?
12 usb  microchip  can 

3
PIC芯片中是否有内置序列号?
我有几十个PIC16芯片。我想从芯片中检索某种唯一的序列号以用于识别。我知道可以手动完成。但这很乏味。 问题: PIC是否有内置序列号? 如果答案为“否”,那么从Microchip订购芯片时,是否有一种简便的方法可以将具有唯一序列号的代码上传到每个芯片?
12 pic  microchip 

1
dsPIC33和PIC32
我最初以为PIC32的优点是能够处理更复杂的RTOS,例如基于Linux的RTOS。不幸的是,它缺少内存管理单元(MMU)和足够的内存。 因此,现在我想了解您何时会选择基于dsPIC33的PIC32?,除了您需要32位处理器时 dsPIC似乎更有希望。它具有DSP引擎,并且具有的PWM数量是pic32的两倍(最多14个),并且可以配备正交编码器。 两种架构都可以配备DMA,DAC,数字通信(I2C,SPI,UART)以及实时时钟和日历
11 pic  microchip 



2
将可变字符打印到UART不起作用,常数可以正常工作
我在PIC18F27K40单片机上的XC8有一个很奇怪的问题。在PIC16F1778上它可以工作。我定义了: void uart_putch(unsigned char byte) { while (!PIR3bits.TX1IF); TX1REG = byte; } 在我的main循环中,当我致电时uart_putch('a');,它工作正常。但是,当我定义const char c = 'a';并调用时uart_putch(c);,它不起作用。它打印出一些内容,尽管不是a-我认为它们是0x00字符,是我从中得到的hexdump -x /dev/ttyUSB0。这不是我计算机上串行端口的问题;我看了一下示波器,信号却不同(左起作用,右没有): 代码很简单: void main(void) { init(); // Sets up ports and UART control registers while (1) { uart_putch('a'); // or c } } 我认为与之相关的任何字符串函数(puts,printf等)也不起作用,因此在这个问题中,我用字符做了一个最小的工作示例。 使用变量时生成的程序集c具有: _c: db low(061h) global __end_of_c _main: ; …

1
dsPIC芯片以正常速度的一小部分运行
我有两个PCB。一个带有dsPIC30F6012a,另一个带有dsPIC30F6015。两者均使用PICkit 3在MPLAB X中的独立HEX项目中进行编程,在此之前,这两种固件已轻松应用于数十个单元。目前,当从除一台以外的所有PC进行编程时,固件都可以正常运行。在昨天开始的那台PC上,这两个固件均编程无明显错误,但以正常速度的约1/20执行。在昨天之前,那台PC还对这些板进行了编程,没有问题。 初始屏幕花了2分钟而不是5秒,指示灯闪烁得非常慢,但除此之外,一切都正常运行。几乎好像振荡器配置位已被更改,但我不知道MPLAB X中可用于独立项目的任何地方。 因此,在同一PCB设计的多个实例上,在两个不同芯片上的两个不同固件,以不同的速度运行,仅取决于用于对其进行编程的PC。在“性能良好”的PC上对慢速板进行重新编程可解决此问题;在“坏”的PC上对该板进行重新编程即可将其重新带回。我所能想到的是,在那台PC上有人按下了“使其缓慢运行”按钮,但我找不到任何贴有该标签的东西。(不过,我们的技术很有创造力。)我目前正在卸载MPLAB X,擦除用户设置,然后重新安装更新的版本。(从1.3到1.6。)即使修复了问题,我仍然不满意所发生的事情,仍然感到不高兴。有人对此问题有见识吗?

3
在PIC中使用多个外部中断
我已经将PIC16F877(datasheet)用于多个项目。对于单个外部引脚更改中断,可以使用PORTB0中断。但是现在我需要在一个电路中支持8个独立的外部引脚更改中断。 在数据表中,它说有15个中断PIC16F877,但是我想这些都算在内,包括定时器溢出中断等...在这种情况下没有用。 这是数据表关于INTCON寄存器的内容。 我可以使用bit0进行4个独立的中断RBIF吗?它代表的变化PB7:PB4。如何通过读取中断程序中的端口值来识别哪个引脚发生了变化? 即使我得到以上肯定的答案,我也需要8次中断?当然,我仍然可以使用INTE进行PORTB0更改。然后4 + 1 = 5,其他3个呢?(但是,尽管这8个中断事件都是同一类型,但4 + 1 + 3 = 8事情看起来很难看,不是吗?) 除了监视8个引脚之外,微控制器没有其他繁重的任务。(谈论其他任务时,它必须维护一组单独的计数器变量,并经常向PC串行传输约4个字节) 欢迎任何建议。即使是为了将微控制器更改为更合适的一个(但...不要告诉我不要使用PICs)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.