Autor Tema: Como abordar un diseño HW de un microprocesador  (Leído 3228 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Como abordar un diseño HW de un microprocesador
« en: 20 de Noviembre de 2009, 06:54:25 »
Hola compañeros:

La verdad es que estoy un poco perdido con este tema y me gustaría tener las nociones básicas para poder enfrentarme a ello o al menos intentarlo y con ello aportar un granito de conocimiento al foro, ya que desgraciadamente no poseo mucha información.

Me gustaría saber que requisitos o precauciones hay que cumplir para realizar el diseño HW de un microprocesador con éxito. Hablmos de un uP como un ARM11 o cortexA8 (400Mhz-600Mhz) con encapsulado BGA de un kiloton de patillas, además de los problemas de alimentación y de la disposición de la memoria NAND y ROM externa.

Vayamos por partes:

Alimentación:
Por norma general, estos integrados los realizan fabricantes como Freescale (familia iMX51), TI(familia OMAP), Samsung (S5PC100), etc... ellos además de venderte el uP, se ofrecen a venderte un integrado a parte que alimenta a los uP ya que estos se tienen que encender de forma un poco especial (de manera secuancial). Por otro lado hay que tener en cuenta el apagado del uP ya que realizar un apagado brusco puede suponer perder información, por lo que es recomendable realizar un sistema de almacenamiento de energia que permita el integrado apagarse de forma controlada y no perder información. Que sistemas podrían realizar dicha tarea, se me ocurre simplemente un condensador y una resistencia de descarga pero imagino que no será lo más habitual en estos sistemas tan complejor.

Memorias externas:
Vamos a hacer una pequeña introducción. Las memorias externas que llevan estos dispositivos suelen ser de dos tipos NAND y NOR. Por norma general la NOR (entre 8-32Mg) se suele usar para incorporar el bootloader y el kernel del microcontrolador ya que estas no se borran o alteran tan fácilmente como las NAND pero por ello son más caras que las NAND. Por otro lado las memorias NAND se suelen usar como dispositivo de almacenamiento donde meteremos el root file system (rootfs), es decir todos los programas que tengamos.

Os dejo un enlace de las ventajas e inconvenientes de ambas
NAND vs NOR

Una vez comentado lo anterior, nos disponemos a abordar el diseño HW de las memorias. El acceso a memoria se realiza a una velocidad muy rápida, ya que el bus de comunicaciones llega a sobrepasar los MHz, por ello hay que tener cuidado en el rutado de dichas pistas, es por ello que me pregunto que precauciones hay que tener para realizar dicho rutado y no haya ruido en la señal.

Eliminación de ruido.
Por otro lado hay que abordar la aliminación de ruido en la placa, es por ello que se recomienda hacer estos diseños con multicapas (6-8-10 capas), quedando una distribución como la que sigue.

Layer1
GND
Layer2
Layer3
VCC
Layer4

Las típicas precauciones que hay que tener en estos diseños es separar las señales analógicas y digitales lo más posible y si es posible que entre estas se entrecrucen 90º (las analógicas estan en un layer y las digitales en otras  ;-)), sobre todo si las señales analógicas son de potencia como podría ser un amplificador de audio.

---|----|-----|---        
---|----|-----|---
---|----|-----|---
---|----|-----|---


También hay que separar lo más posible los planos de masa analógicos y digitales, uniendolos con un único punto, en el caso de usar una única capa.



Respecto a la transmisión de señales de alta frecuencia, es recomendable que la capa donde transmitamos estas señales tenga una capa adyacente de masa y si transmitimos señales de más de 25Mhz tener al menos dos planos de masa adayacentes a esta para la eliminación de EMI.

Por otro lado hay que poner condensador de supresión de ruido en las alimentaciones de todos los integrados que dispongamos en nuestro diseño, lo mas cercano a la alimentación del IC. Este tema es muy amplio pero en este link se da más información.

Evitar ruido en nuestros diseños

Footprint BGA:
Esto es un tema también muy importante, ya que la soldadura de estos componentes es algo particular y hay que tener en cuenta muchas consideraciones, os dejo un enlace que hablan del tema.
Recomendaciones footprint BGA

Software de diseño PCB:
Otro tema importante y que de esto no se nada...imagino que existe programas que simulen el comportamiento de una señal sobre una pista en concreto para ver si le afecta el ruido de otras pistas u otros temas de ruido. Otro tema importante es que las pistas tengan la misma longitud, por ejemplo, si quieremos llevar la señal de un clk a varios sitios, la longitud de las pistas deberá ser la misma para que no haya retrasos una respecto a otro e igual pasa por ejemplo con la alimentación (VCC) de los microprocesadores que suelen tener varias y tienen que llegar a la vez para hacer un encendido correcto, igualar tambien las pistas que van del uP a las memorias, etc...

Estos son unos puntos entre otros tantos que existen, pero es por ello que si otras personas del foro tienen más información por su experiencia sería de agradecer que lo compartieran.

Un saludete y espero que les guste este pequeño aporte que he aprendido poco a poco a lo largo de un par de meses.
« Última modificación: 22 de Noviembre de 2009, 07:20:40 por c4_esp_VR »


 

anything