Ceci est une ancienne révision du document !
Table des matières
NOTES IMPORTANTES
A PENSER POUR LE ROUTAGE DES CARTES!
faire des diamètres de trous assez grands pour qu'avec les trous metalisés, il y ait la place de mettre les broches des composants/connecteurs
Vérifier qu'on arrive à inclure mes PCB sur le gerber pour test
Regarder les règles pour l'alimentation des shields arduino (3.3 et 5V compatible)
mettre plutôt des composants en boitiers DIL pour pouvoir les monter sur supports et les changer en cas de panne
liste de shields existants: http://shieldlist.org/
Broche et rôle sur Arduino | Connexion sur chipKit Max32 [broche TQFP] (broche hirose) | Possible sur ethernet starter kit | autre proposition | 5V tolerant |
---|---|---|---|---|
0 RXD | SCM1A/RF2 [52] (88) | Oui | SCM1A/RF2 [52] (88) | oui |
1 TXD | SCM1B/RF8 [53] (90) | Oui | SCM1B/RF8 [53] (90) | oui |
2 INT0 | INT1/RE8 ERXD0 [18] (Non) | Non car connecté au contrôleur réseau | PMPD0/RE0 [93] (23) | oui |
3 INT1 ~ | OC1/RD0 SD01/OC1/INT0 [72] (87) | Non car connecté à led D4 | PMPD1/RE1 [94] (21) | oui |
4 | S0SC0/T1CK/CN0/RC14 avec R200Ohm [74] (32) | Non car connecté à quartz pour RTC | PMPD2/RE2 [98] (19) | oui |
5 ~ | OC2/RD1 [76] (44) | Non car connecté à led D5 | PMPD3/RE3 [99] (17) | oui |
6 ~ | OC3/RD2 [77] (42) | Non car connecté à led D6 | PMPD4/RE4 [100] (15) | oui |
7 | INT2/RE9 [19] (Non) | Non car connecté au contrôleur réseau | PMPD5/RE5 [3] (13) | oui |
8 | IC5/PMPD12/RD12 [79] (20) | Oui | PMPD6/RE6 [4] (9) | oui |
9 ~ | OC4/RD3 [78] (40) | Oui | PMPD7/RE7 [5] (7) | oui |
10 ~ SS | OC5/PMWR/RD4 [81] (28) | Oui | SS1/IC2/RD9 [69] (54) | oui |
11 ~ MOSI | T5CK/RC4 [9] (41) | Oui | SDO1/INT0/OC1/RD0 [72] (87) aussi connecté à LED D4 | oui |
12 ~ MISO | SCL2/RA2 [58] (76) | Oui | SDI1/T5CLK/RC4 [9] (41) | oui |
13 ~ SCK | SDA2/RA3 [59] (74) | Oui | SCK1/IC3/PMPCS2/RD10 [70] (91) | oui |
GND | [] () | |||
AREF | VREF+/PMA6/RA10 avec protection par R200Ohm+diode [29] (115) | VREF+/PMA6/RA10 [29] (115) | NON!!!! | |
SDA | Non cablé [] () | SDA2/RA3 [59] (74) | oui | |
SCL | Non cablé[] () | SCL2/RA2 [58] (76) | oui | |
A0 | AN0 [25] (72) | Oui | AN0/RB0 [25] (72) | NON!!!! |
A1 | AN1 [24] (70) | Oui | AN1/RB1 [24] (70) | NON!!!! |
A2 | AN2 [23] (68) | Oui | AN2/RB2 [23] (68) | NON!!!! |
A3 | AN3 [22] (66) | Non car utilisée sur le MCP1253 | C2OUT/AN9/RB9 [33] (73) | NON!!!! |
A4 SDA | AN4 [21] (64) | Oui | AN4/RB4 [21] (64) sur le pic les voies analogiques ne sont pas multiplexées avec l'i2c, donc choix par jumper pour amener l'i2C ou AN4/5 sur ces broches | NON!!!! |
A5 SCL | AN5 [20] (62) | Non car utilisée pour l'usb otg | C1OUT/AN8/RB8 [32] (71) sur le pic les voies analogiques ne sont pas multiplexées avec l'i2c, donc choix par jumper pour amener l'i2C ou AN4/5 sur ces broches | NON!!!! |
gestion des interruptions sur arduino (INT0 et INT1 sont des vrais IT externes, pas de IT on pin change): http://michael.bouvy.net/blog/fr/2013/06/01/interruptions-arduino-atmega-delay-timer/
IOREF: broche en sortie de la carte arduino mère pour indiquer le niveau de tension à utiliser pour les GPIO etc… (UNO=5V, mega=3.3V)
VIN: entrée d'alimentation 9V par ex, va sur régulateur 1117
broche à ajouter par rapport à arduino sortir VREF-
comment faire un shield arduino avec eagle
10 façons de péter un arduino
protection des entrées non 5V tolerant
entrées analogiques: prévoir diodes pour limiter tension car non 5V tolerant voir page 15 de http://ww1.microchip.com/downloads/en/DeviceDoc/61156H.pdf
diode BAV70 pas dispo en france chez farnell, http://fr.farnell.com/jsp/search/browse.jsp?N=2014+203047&Ntk=gensearch&Ntt=bav70&Ntx=mode+matchallpartial
toutes les ultra fast recovery sont stockées aux usa, mettre le filtre recouvrement ultra rapide http://fr.farnell.com/jsp/search/browse.jsp?N=2014+203046+210361558&Ns=P_PRICE_FARNELL_FR|0&Ntk=gensearch&Ntt=fast+recovery+diode&Ntx=mode+matchallpartial&locale=fr_FR&appliedparametrics=true&getResults=true&suppressRedirect=true&isRedirect=&No=0&divisionLocale=fr_FR&catalogId=&skipManufacturer=false&skipParametricAttributeId=&prevNValues=2014+203046+210266894&mm=1002206||,&filtersHidden=false&appliedHidden=false&autoApply=true&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D2014%2B203046%26Ntk%3Dgensearch%26Ntt%3Dfast%2Brecovery%2Bdiode%26Ntx%3Dmode%2Bmatchallpartial%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dfr_FR%26divisionLocale%3Dfr_FR%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D2014%2B203046
celle la est en dual avec boitier SOT323: http://fr.farnell.com/diodes-inc/bav70w/diode-ss-dual-75v-0-15a-sot323/dp/1902421RL
doc: http://www.diodes.com/datasheets/ds30063.pdf
librairie zetex→D_2A
spi sur pic32
61132B_PIC32ReferenceManual.pdf p753
SDO = MOSI, SDI=MISO
en SPI master, les SS/ sont des GPIO controlées en software
http://microchippiclessons.blogspot.fr/2009/06/spi-tutorial.html
i2c sur pic32
61132B_PIC32ReferenceManual.pdf p799
brochage du pic32
indication de 5V tolerant en p16 de http://ww1.microchip.com/downloads/en/DeviceDoc/61156H.pdf
p35 de 61156H.pdf, il y a la liste des broches avec “Change notification inputs” et les IT externes
bus can
composant transceiver MCP2551 sur la digilent: http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf
Industrial (I): -40°C to +85°C Extended (E): -40°C to +125°C
Controler Aera Network; http://ww1.microchip.com/downloads/en/DeviceDoc/61154C.pdf
2 controleurs: (voir page 41 de http://ww1.microchip.com/downloads/en/DeviceDoc/61156H.pdf) -le CAN1 utilise les broches C1TX [88] (16) et C1RX [87] (18) ou les alternatives AC1TX et AC1RX -le CAN2 utilise les broches C2TX [89] (14) et C2RX [90] (10) ou les alternatives AC2TX et AC2RX
router les broches différentielles en respectant les longueurs.
carte PIC 32 + arduino
Principe de fonctionnement
La carte agit à la fois comme une breakout de la carte d'évaluation PIC32 et comme un shield I2C quand le PIC32 n'est pas monté dessus.
Composants embarqués
- RTC I2C DS13072
- 2 PCF8574 (1 en entrée inter 8DIL, l'autre en sortie 8LED )
- EEPROM SPI AT25040 ( http://www.atmel.com/images/doc3348.pdf )
- Sonde de température One-Wire DS1820
- MAX3380EUP pour la conversion série RS232. Jumper pour la configuration DTE/DCE (cablage de RTS/CTS) ( http://datasheets.maximintegrated.com/en/ds/MAX3380E-MAX3381E.pdf )
- connecteurs au pas de 2.54 pour pouvoir plus tard brancher des labdec
- connecteur 120 broches pour le pic
- jumpers ou inter
- ON NE MET PAS DE DACS sur la carte (en backup pour TNS), on utilisera plutôt ceux présents sur la carte pour télécom num… via le connecteur PIC vers arduino
dac de Hugues
- 2 DACs AD5611 1 voie 10 bits (meme nombre de bits que l'ADC du pic) SPI qu'on ne va pas forcement souder mais qu'on aura en backup pour manip tns : http://www.farnell.com/datasheets/1780742.pdf ( http://fr.farnell.com/analog-devices/ad5611aksz-500rl7/cna-10-bits-cms/dp/1117912 )
module serie->Wifi
à acheter
- 30 cartes arduino (2*14 + 2 de rab) (on peut rêver…., utiliser celle de David Dubuc? )
voir si on peut commander chez snootlab (538.20 euros)
cartes Starter Kit PIC32 Ethernet DM320004
http://fr.rs-online.com/web/p/kits-de-developpement-pour-processeurs-et-microcontroleurs/6868657/
- connecteur 120 broches en page 27 de: http://ww1.microchip.com/downloads/en/DeviceDoc/61166A.pdf
- doc du kit : http://www.farnell.com/datasheets/866678.pdf
- doc régul TC1262-2.5VDB : http://ww1.microchip.com/downloads/en/devicedoc/21373b.pdf
Connecteur pour carte fille: HIROSE Electric PN FX10A-120S/12-SV(71) : http://fr.farnell.com/hirose-hrs/fx10a-120s-12-sv-71/embase-0-5mm-guide-120-voies/dp/1798394?Ntt=HIROSE+Electric+PN+FX10A-120S/12-SV%2871%29
librairie eagle : ftp://ftp.cadsoft.de/eagle/userfiles/libraries/conn-hirose.lbr
pour info breakout board à 30$: http://www.digikey.com/product-detail/en/DKSB1000C/876-1000-ND/2074101#usewithchildren
Connecteur DE 9 femelle angle droit: http://fr.farnell.com/norcomp/182-009-213r171/sub-d-femelle-a-souder-coude-9/dp/2294287
Kit connecteurs empilables Arduino : https://www.sparkfun.com/products/11417
http://www.adafruit.com/product/85
à bricoler: http://www.instructables.com/id/How-to-make-stackable-pin-headers-for-Arduino-on-t/
chez lextronic: http://www.lextronic.fr/P29631-pack-de-connecteurs-pour-arduino.html
autres connecteurs chez lextronic: http://www.lextronic.fr/R4444-barrettes-malesfemelles.html
copie arduino pas chere: http://www.ebay.com/itm/Hot-sale-ATmega328P-CH340G-UNO-R3-Board-Free-USB-Cable-for-Arduino-GOOD-/251637281027?pt=LH_DefaultDomain_0&hash=item3a96c03103
bootloader arduino pour PIC32 ethernet:
https://github.com/chipKIT32/pic32-Arduino-Bootloader/blob/master/pic32bootloader.c
led du bootloader sur port D 1
vrac
recherche de resistance par valeur: http://fr.farnell.com/jsp/search/browse.jsp?N=2014+215515+210179152+210072307&Ns=P_PRICE_FARNELL_FR|0&Ntk=gensearch&Ntt=resistance+1206&Ntx=mode+matchallpartial&locale=fr_FR&appliedparametrics=true&getResults=true&suppressRedirect=true&isRedirect=&No=0&divisionLocale=fr_FR&catalogId=&skipManufacturer=false&skipParametricAttributeId=&prevNValues=2014+215515+210179152+210079727&mm=1000194||,&filtersHidden=false&appliedHidden=false&autoApply=true&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D2014%2B215515%26Ntk%3Dgensearch%26Ntt%3Dresistance%2B1206%26Ntx%3Dmode%2Bmatchallpartial%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dfr_FR%26divisionLocale%3Dfr_FR%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D2014%2B215515
jumper: http://fr.farnell.com/jsp/search/productdetail.jsp?SKU=2396301&MER=BN-2396301
barette secable 90°: http://fr.farnell.com/te-connectivity-amp/4-103323-1/barrette-secable/dp/1098476
connecteur femelle 90° 40 broches: http://fr.farnell.com/samtec/ssw-140-01-t-s/socket-2-54mm-1x40way/dp/1805974
datasheet connectique: http://www.farnell.com/datasheets/1796368.pdf
bargraphe led (probleme, ils sont tous en 20mA): http://fr.farnell.com/kingbright/dc-10gwa/bargraphe-reseau-de-10-segments/dp/2290324
bargraphe rouge d'hugues, mesure 1.7V à alimenter entre 3 et 5ma, selon VCC=3.3V ou 5V; c'est le : http://fr.farnell.com/opto-images/ll10000hr/bargraphe-rouge/dp/1208882
ARDUINO UNO R3
http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
differences entre les versions de UNO: http://startingelectronics.com/articles/arduino/uno-r3-r2-differences/
librairies pour eagle: http://www.element14.com/community/groups/arduino/blog/2013/11/05/finally-an-arduino-library-for-eagle
http://www.element14.com/community/docs/DOC-64069/l/the-element14-arduino-cadsoft-library
http://www.semageek.com/un-librarie-eagle-pour-creer-un-shield-arduino-facilement/
doc du atmega328: http://www.atmel.com/Images/doc8161.pdf
Carte digilent Chipkit MAX32
ressources: http://www.digilentinc.com/Support/Support.cfm?ProdCat=CHIPKIT-MAX32&DocType=
schéma (REV D): http://www.digilentinc.com/Data/Products/CHIPKIT-MAX32/chipKIT%20Max32_bysa_d_sch.pdf
fichiers eagle (REV D): http://www.digilentinc.com/Data/Products/CHIPKIT-MAX32/chipKIT%20Max32_bysa_d.zip
Carte digilent Chipkit UNO32
ressources: http://www.digilentinc.com/Support/Support.cfm?ProdCat=CHIPKIT-UNO32&DocType=
schéma (REV C): http://www.digilentinc.com/Data/Products/CHIPKIT-UNO32/ChipKIT%20Uno32_bysa_c_sch.pdf
fichiers eagle (REV C): http://www.digilentinc.com/Data/Products/CHIPKIT-UNO32/chipKIT_Uno32_bysa_c.zip
http://www.digilentinc.com/Data/Products/CHIPKIT-UNO32/ChipKIT%20Uno32_bysa_c_sch.pdf
carte shield ethernet arduino
http://arduino.cc/en/Reference/Ethernet
http://arduino.cc/en/Main/ArduinoEthernetShield
http://arduino.cc/en/Guide/ArduinoEthernetShield
utilise SPI (via connecteur ICSP) + 2 signaux SS: pin 4 pour SDCARD et pin 10 pour ethernet controler
infos sur le SPI arduino: http://arduino.cc/en/Reference/SPI
Différents périphériques
connectique PMOD
connecteurs 6 ou 12 broches au pas de 2.54
attention la numérotation des broches varie selon que l'on considère le connecteur Host ou Peripheral
librairie foireuse pour eagle: https://github.com/zynqgeek/Zedboard-Eagle-Library
spécification: http://digilentinc.com/Pmods/Digilent-Pmod_%20Interface_Specification.pdf
https://www.digilentinc.com/Data/Products/PMOD-DIP/PmodDIP_rm.pdf
https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,401,1081&Prod=PMOD-DIP
pour la numérotation des 8 bits de données, j'utilise la même que: http://www.digilentinc.com/Data/Products/PMOD-8LD/Pmod8LD_sch.pdf
periph1= bit0
periph2= bit1
periph3= bit2
periph4= bit3
periph5= GND
periph6= VCC
periph7= bit4
periph8= bit5
periph9= bit6
periph10= bit7
periph11= GND
periph12= VCC
réseau de 8 résistances avec point commun (boitier SIP9) : http://fr.farnell.com/multicomp/mcrnla09g0472b0e/resistor-network-thick-film-8-4/dp/1602072
IO Expander
doc du 8574: http://www.farnell.com/datasheets/1846877.pdf
http://fr.farnell.com/texas-instruments/pcf8574an/i2c-bus-expander-16dip/dp/1703443
RTC
doc du DS1307 maxim: http://datasheets.maximintegrated.com/en/ds/DS1307.pdf doc du DS13072 dallas: https://www.sparkfun.com/datasheets/Components/DS1307.pdf
doc du 8573: http://www.ti.com.cn/cn/lit/ds/symlink/dp8573a.pdf attention cette version n'est qu'en 5V!!!!
RTC sur le module que j'ai: ds13072, apparemment c'est aussi qu'en 5V; doc et schématique: http://electronics.stackexchange.com/questions/98361/how-to-modify-ds1307-rtc-to-use-3-3v-for-raspberry-pi
interfaçage 1307 avec FPGA: https://www.pantechsolutions.net/cpld-fpga-boards/rtc-interfacing-with-spartan-3-primer
pour du 3.3V, ils conseillent DS1672
doc du DS13072:
http://fr.farnell.com/maxim-integrated-products/ds1307/rtc-serie-64x8-1307-dip8/dp/1188042
http://www.farnell.com/datasheets/1647366.pdf
autre RTC en 3.3V à 1 euro mais ne supporte l'alim que de 3 à 3.6V: http://fr.farnell.com/texas-instruments/bq32000dr/ic-srl-real-time-clock-8soic/dp/1754773
RTC MICROCHIP la moins chère sur farnell, MAIS IL N'Y A PAS DE BATTERIE: http://fr.farnell.com/jsp/search/browse.jsp?N=2014+203943+210619112+210652435+210652563+210652697+210652698&Ns=P_PRICE_FARNELL_FR|0&Ntk=gensearch&Ntt=RTC+I2C&Ntx=mode+matchallpartial&locale=fr_FR&appliedparametrics=true&getResults=true&suppressRedirect=true&isRedirect=&originalQueryURL=/jsp/search/browse.jsp%3FN%3D2014%2B203943%26Ntk%3Dgensearch%26Ntt%3DRTC%2BI2C%26Ntx%3Dmode%2Bmatchallpartial%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dfr_FR%26divisionLocale%3Dfr_FR%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D2014%2B203943
http://fr.farnell.com/microchip/mcp7940m-i-p/rtc-i2c-64bytes-sram-8pdip/dp/2098894
http://www.farnell.com/datasheets/1563484.pdf
piles et supports: http://fr.farnell.com/jsp/search/browse.jsp?N=2014+204086&Ns=P_INVENTORY_FARNELL_FR|0&Ntk=gensearch&Ntt=LIR+2032&Ntx=mode+matchallpartial&suppressRedirect=true&originalQueryURL=
http://fr.farnell.com/jsp/search/browse.jsp?N=2014+203469&Ns=P_PRICE_FARNELL_FR|0&Ntk=gensearch&Ntt=LIR+2032&Ntx=mode+matchallpartial&suppressRedirect=true&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D2014%2B203469%26Ntk%3Dgensearch%26Ntt%3DLIR%2B2032%26Ntx%3Dmode%2Bmatchallpartial%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dfr_FR%26divisionLocale%3Dfr_FR%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D2014%2B203469
quartz 32k: http://fr.farnell.com/jsp/search/browse.jsp?N=2014+203436+210186271&Ns=P_PRICE_FARNELL_FR|0&Ntk=gensearch&Ntt=32768&Ntx=mode+matchallpartial&locale=fr_FR&appliedparametrics=true&getResults=true&suppressRedirect=true&isRedirect=&originalQueryURL=/jsp/search/browse.jsp%3FN%3D2014%2B203436%26Ntk%3Dgensearch%26Ntt%3D32768%26Ntx%3Dmode%2Bmatchallpartial%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dfr_FR%26divisionLocale%3Dfr_FR%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D2014%2B203436
DAC
dac texas (tlv5626 etc… dans fichier tlv56xx.lbr, mais ce sont des DAC parallèle et uniquement en boitiers SOIC20) sur http://www.cadsoftusa.com/downloads/libraries
EEPROM SPI
http://fr.farnell.com/on-semiconductor/cat25040li-g/ic-eeprom-4kbit-serial-10mhz-dip/dp/1718045
http://www.onsemi.com/pub/Collateral/CAT25010-D.PDF
NON elle n'est pas dispo sauf aux usa, du coup je prends un compatible Microchip: http://fr.farnell.com/microchip/24lc04b-p/memeoire-eeprom-serie-4k/dp/1196848?whydiditmatch=rel_3&matchedProduct=25040
capteur de temperature DS1820
http://www.ebay.com/itm/5Pcs-New-DALLAS-18B20-DS18B20-TO-92-Professional-Temperature-Sensor-kk-/271562920429?pt=LH_DefaultDomain_0&hash=item3f3a6951ed&autorefresh=true
documentation: http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
avec arduino: http://www.hobbytronics.co.uk/ds18b20-arduino
doc de la lib: http://www.milesburton.com/?title=Dallas_Temperature_Control_Library et http://download.milesburton.com/Arduino/MaximTemperature/DallasTemperature_372Beta.zip
librairie OneWire: http://www.pjrc.com/teensy/td_libs_OneWire.html et www.pjrc.com/teensy/arduino_libraries/OneWire.zip
unzip OneWire.zip sudo mv OneWire /usr/share/arduino/libraries/ unzip DallasTemperature_372Beta.zip sudo mv dallas-temperature-control /usr/share/arduino/libraries/
problème de nom pour la librairie corrigé par
sudo mv /usr/share/arduino/libraries/dallas-temperature-control /usr/share/arduino/libraries/DallasTemperature/
doc du composant: http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
on peut en pratique le brancher avec 2 fils et l'alimenter par le fil de donnée
le brancher à l'envers le crame, donc plutôt le souder sur la carte: http://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html
manip radiocom num
départ vers le 9mars, 1 séance par semaine la 1° puis 2 séances par semaines (jusqu'a fin mars)
faire une carte shield arduino (qui pourra se brancher aussi sur le nucleo ou le pic 32 via la carte d'adaptation) avec:
- convertisseur numerique analogique
- aop pour adaptation d'impédance
- 1 convertisseur 3.3 ↔ RS232 pour échange d'info sans avoir besoin d'installer arduino ni le driver ftdi
- prévoir quelques boutons pour demander l'envoi de différents messages
du coup les étudiants programment l'arduino en salle ER2EN et peuvent l'utiliser en salle HF
7 binomes par demi groupe: il faut faire les 14 cartes arduino (on en a déjà 5) + 14 shield car pendant qu'on en programme 7 il faut que les autres binomes d'étudiants utilisent les 7 autres cartes
→ DECISION: on sépare la partie shield DAC (*15 ou même 30, pour dév avec arduino et backup tns) et la partie adaptation d'impédance (*7 seulement car 7 postes en HF)
carte DAC
utiliser des DAC 10 bits (même dynamique que les ADC du pic32. compatible avec le tlv5626 dont j'ai fait la lib arduino.
http://www.ti.com/lit/ds/symlink/tlv5637.
http://www.ti.com/product/TLV5637/technicaldocuments
http://fr.farnell.com/texas-instruments/tlv5637cd/convertisseur-n-a-10-bits/dp/8455813
DAC 12bits: http://www.ti.com/product/tlv5638m
http://fr.farnell.com/texas-instruments/tlv5638cd/convertisseur-n-a-12-bits/dp/8455848
outils de sélection de DAC TI: http://www.ti.com/lsds/ti/data-converters/precision-dac-less-10msps-products.page#p84=10;10&p158=Serial%20SPI&p1021=2;2
Zener 2.5V pour réference de tension du DAC (en boitier SOD123, prevoir aussi une empreinte en DIL pour test): http://fr.farnell.com/on-semiconductor/mmsz5222bt1g/diode-zener-vz-2-5v/dp/1651594RL
Mettre un connecteur pour joystick → 2 voies analogiques + 1 boutons, on pourra envoyer un message qui code sa position. KEY est mis en contact avec GND lors de l'appui.
carte existante en RS232 pour arduino
mais c'est du 5V only: http://www.cutedigi.com/arduino-shields/rs232-shield-for-arduino.html
http://www.lextronic.fr/P29284-platine-shield-rs232-pour-arduino.html
du coup il faut la refaire:
compatible 3222 (3 à 5.5V) 1,1 euros chez farnell en DIL: http://fr.farnell.com/exar/sp3232ecp-l/transceiver-rs-232-3-0v-a-5-5v/dp/9386904?whydiditmatch=rel_3&matchedProduct=ST3232
doc: http://www.farnell.com/datasheets/70989.pdf
cablage DTE et DCE: http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html
DTE= male=PC
DCE= femelle=Periph
visionnage activité par led: pour l'instant connectée directement aux GPIO, peut être prévoir transistor;
ULN2803 (normalement pour 5V mais fonctionnera aussi en 3.3V): http://www.farnell.com/datasheets/1690352.pdf
http://fr.farnell.com/stmicroelectronics/uln2803a/reseau-de-transistor-darlington/dp/1094428
ou 4x npn (BC847?) en boitier SOT89: http://fr.farnell.com/diodes-inc/2dd2678-13/transistor-npn-sot89-0-9w/dp/1710677
carte adaptation d'impédance
on part sur une copie de la V2, on peut faire en local. Vérifier les max ratings:
carte démodulation
Jonathan? pour démodulation, si besoin, faire une autre carte shield
manip archi pour le tns
- 15 cartes nucléo (9euros ht chez farnell)
http://www.data-compression.com/speech.shtml
1°) développer filtre en QT en double précision; les échantillons d'entrées sont fournis dans un fichier, le soft doit calculer la valeurs des échantillons en sortie
2°) adapter le soft en virgule fixe; → appel de fonctions pour gérer les différentes opérations
3°) adapter à la cible visée (micro/fpga)
4°) implémentation sur micro nucléo
5°) implémentation sur fpga de2 (est ce qu'on a les bons convertisseurs?)
Fabrication de PCB
http://www.safe-pcb.com/SAFE_PCB/PAGE_CLIENT_Accueil/JBIAABo6dSVDZ0lDREdHU09RHQA
les contraintes sont indiquées (tailles de trous etc…) dans l'onglet information
eagle
Ajout logo
faire un bmp 8 bit puis: http://www.instructables.com/id/Adding-Custom-Graphics-to-EAGLE-PCB-Layouts/?ALLSTEPS
Paneliser
http://diy.viktak.com/2013/02/tutorial-panelizing-pcbs-in-eagle.html
http://hackaday.com/2013/02/22/panelizing-pcbs-in-eagle/
script ulp pour répéter un board en X,Y: http://www.cadsoftusa.com/downloads/file/replicate_board.rar
Dupliquer partie de board en gardant le lien avec la schematique
fabrication gerber
pour faire le gerber avec eagle: http://hackaday.com/2009/01/15/how-to-prepare-your-eagle-designs-for-manufacture/
https://www.sparkfun.com/tutorials/109
change the 'tPlace' et 'bPlace' layer to Black: indique l'emplacement des composants sur le PCB, sera écrit sur le silkscreen
change the 'tDocu' et 'bDocu' layer to lemon yellow: indique l'emplacement des composants en occupation de place
copier http://www.sparkfun.com/tutorial/BeginningEmbedded/9-EaglePCBs/sfe-gerb274x.cam dans eagle…/cam/sfe-gerb274x.cam
file→cam file→open→job→choisir sfe-gerb274x.cam
process job
ouvrir toutes les layers avec gerbv
pour enlever des choses sur une couche (par exemple le silkscreen), Info sur l'objet en question et le passer dans la couche tDocu
edit→ smash puis clic sur un composant pour séparer le composant de son nom (mais je n'ai pas le nom sur le silkscreen)
merger les gerber avec gerbv
http://www.tristantech.net/articles/gerbv/
CONSEIL, plutôt que de translater chaque couche individuellement avec gerbv, utiliser gerbv pour déterminer le décalage, puis translater avec eagle et ressortir le gerber
- Top Copper - myboard.GTL
- Top Silkscreen - myboard.GTO
- Top Stop Mask - myboard.GTS
- Bottom Copper - myboard.GBL
- Bottom Silkscreen - myboard.GBO
- Bottom Stop Mask - myboard.GBS
- Drill File - sous eagle le .DRI (contient les diamètres de forêts) dit que c'est le .TXT qui contient les trous
- on peut virer le .GTP dans gerbv (c'est le masque pour le dépot de pate à braser)
j'ai la version 2.5.0 et la version du tuto est 2.6.0 je n'exporte qu'une seule layer… :(
nouvelle version 2.6.1: http://gerbv.geda-project.org/
il y a un probleme: http://sourceforge.net/p/gerbv/mailman/message/31739103/
mkdir gerbv2.6.1 cd gerbv2.6.1 wget http://heanet.dl.sourceforge.net/project/gerbv/gerbv/gerbv-2.6.1/gerbv-2.6.1.tar.gz tar -xvf gerbv-2.6.1.tar.gz cd gerbv-2.6.1 sudo apt-get install autopoint po4a ./autogen.sh ./configure --disable-nls make cp man/gerbv.1.in.pot man/gerbv.ru.1.in.po make sudo make install
ca chie….
essai version 2.6.0
mkdir gerbv2.6.0 cd gerbv2.6.0 wget http://sourceforge.net/projects/gerbv/files/gerbv/gerbv-2.6.0/gerbv-2.6.0.tar.gz tar -xvf gerbv-2.6.0.tar.gz cd gerbv-2.6.0 sudo apt-get install autopoint po4a ./autogen.sh ./configure --disable-nls make sudo make install
ca chie aussi, probleme d'autotools
installation de version 2.6.0 sur machine windows. Ca marche!!!!
Installation salle ER2EN
1 commutateur par PC (pas par table), minimum 5 ports
doit supporter le vlan: http://fr.wikipedia.org/wiki/R%C3%A9seau_local_virtuel
802.1q, prévention des boucles, Gigabit, gestion de priorité, <30 euros!
en 5 ports (c'est assez): http://www.abix.fr/tp-link-tl-sg105e-switch-metal-5-ports-gigabit-igmp-vlan-qos-317365.html
en 8 ports: http://www.abix.fr/tp-link-tl-sg108e-switch-metal-8-ports-gigabit-igmp-vlan-qos-317368.html
Softs à installer
partout: accés à mbed: https://mbed.org/
dans salle ERAU : accés à http://homepages.laas.fr/ et aux autres site pour chargement datasheets!!!!!
dans salle EREN: driver nouvelle carte réseau + config d'adresse avec serveur DHCP sur le vlan correspondant (RASPBERRY)
windows
- wireshark
- arduino sous windows? (problème drivers FTDI?)
- installer toutes les cartes PIC (y compris les nouvelles)
- installer cooCox CoIDE et CoDebugger: http://www.coocox.org/index.html
linux
- arduino + droit d'accés periph
- wireshark ( il faut régler les droits d'accés au périph réseau)
- qtcreator
- git (de base présent)
- gitk
- y a t'il un montage local avec droits d'écriture ?
- si non installation de https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q3-update/+download/gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2 dans /usr/local
- Test connexion Nucleo pour vérifier support du debugger
- Installation Eclipse (normallement de base dans Ubuntu)
Doc Logipi
https://github.com/fpga-logi/Logi-boards/tree/master/fpga-boards/logi-pi/PRJ-DOC/sch
http://valentfx.com/wiki/index.php?title=LOGI_Pi_Quick_Start_Guide
carte nexys-arduino
lib du connecteur hirose: https://github.com/nall/EagleSupport
circuit safe
j'ai droit à 240 euros ttc, soit 2 circuits 2faces de 600*400mm
photos des cartes: http://homepages.laas.fr/bvandepo/files/IMAG1579.jpg
max : de 600*500mm
service de réalisation de PCB: https://oshpark.com/
carte adaptatrice de niveau
http://fr.farnell.com/nxp/bss138bk/mosfet-n-ch-60v-0-36a-sot23/dp/2053833RL
http://fr.farnell.com/fairchild-semiconductor/bss138/transistor-mosfet-n-sot-23/dp/9845330
http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter
modifs à faire
tous
spécifier que la sérigraphie doit etre en blanc
ajouter les dimensions des cartes sur les serigraphies pour découpe propre
ajout zone sur serigraphie pour numeroter les cartes
A FAIRE:
com
FAIT: carte com: rapprocher connecteur pmod, utiliser police + petite pour jumper adresse carte com, indiquer les niveaux logiques sur les inter dils
FAIT: ajouter led emettrice IR sur broche 3 avec jumper pour débrancher et laisser libre la broche pour un autre usage, R 100 Ohms, cathode de la led connectée à la masse. + 1 led visible
TANT PIS: tentative uln2803 pour alimenter les leds pour les allumer quand la sortie du 8574 est à 1: ne marche pas car la tension de la sortie du 8574 s'écroule à 0.8V.
FAIT: inverser le sens du réseau de diodes et mettre le point commun à VCC au lieu de GND, ajouter sur serigraphie que led active à 0 → j'ai fait un système à 0 par defaut, mais facile à passer à 1 et qui affiche sur 2 leds du barregraphe si actif à 0 ou à 1
FAIT: cabler SQ sur une led + resistance, pour que la led s'allume quand SQ=0; + PAS FAIT CAR PAS DE PLACE: ajouter une pin verticale pour oscillo
TEST: recopier inter dil sur leds (et complementer le bit coreondant à l'adresse selectionnée) ecrire et lire dans l'eeprom SPI ecrire et lire dans l'eeprom I2C idem RTC cabler et lire DS1820
tout est testé sauf les interruptions générées par les 8574
pic32
FAIT: verifier si les voies can sont 5V tolerant, car le transeiver est alimenté en 5V: oui elles le sont; broches PMPD8-11 soit 87 à90 du TQFP 100. FAIT: virer la connection du jumper par défaut pour les voies analogiques du pic32 multiplexée avec l'i2C FAIT: mettre les noms des signaux individuels sur JP7 et peux etre en ajouter d'autres
FAIT: vérifier que toutes les sorties numériques peuvent sourcer et sinker assez pour alimenter une led fait vérifier les entrées en numérique fait: verifier I2C fait verifier SPI (mais je n'ai pas encore implémenté la com avec le TLV) fait verifier AN0-5 (mais je n'ai pas encore réussi à lire tout ensemble)
tests:
FAIT: shield rs232 fonctionne → oui avec mon appli pour le MSC1210 et connexion en telnet, j'ai bien la com bidirectionnelle avec l'uart et le max3232
carte rs232
FAIT: il manquait les broches d'alim sur le 3232, verifier le nombre de broche du circuit 3222, peut etre qu'il faudra en ajouter… , creation librairie pour connecteur M09 sans serigraphie qui dépasse
mettre resistance 470ohms sur les leds plutot que 220 (tester en 5V et en 3.3V)
nommage des broches Analogiques du arduino: http://www.ishootpictures.co.uk/atmega-pins.gif
broches A2=RTSin = D16 entree du max = sortie du arduino
broches A3=CTSout = D17 sortie du max = entree du arduino
CTS en entrée sur le connecteur DCE et DTE RTS en sortie sur le connecteur DCE et DTE
http://pficheux.free.fr/articles/lmf/serial/
stty -a < /dev/ttyUSBARK sudo stty -F /dev/ttyUSBARK crtscts
#!/bin/sh
( stty 9600 stty cs8 stty -parenb stty -parodd stty -clocal stty crtscts stty -echo
# Suite du script …
) < /dev/ttyUSBARK > /dev/ttyUSBARK
FAIT: RETOURNER LES DIODES
FAIT: mettre jumper 3 broches pour aiguiller RX et TX soit en SOFT (broches prédéfinies 5 et 6) soit en HARD
FAIT: faire en sorte que la commande des leds RTS/CTS soit les broches du MAX et pas celle de l'arduino
a faire: mettre résistance un peu + grande + et verifier intensité lumineuse en 3.3V et si le max fonctionne correctement
verifier les sens de RTS/CTS
FINALEMENT NON: ajouter interrupteur latéral pour débrancher uartHARD RX , on virera le jumper les rares fois ou on utilisera l'uart matériel du arduino, et ce ne sera pas nécéssaire pour le pic et peut etre pas pour le nucleo
Programme de test TestSerial
TEST: envoyer /recevoir minicom jusqu'en 19200 bauds ajouter RTS/CTS cabler les leds et verifier si fonctionne encore EN DCE: directement avec adaptateur USB EN DTE: avec cable croisé pour RX,TX,RTS,CTS
arduino.cc/en/reference/serial
minicom et RTS/CTS
http://pficheux.free.fr/articles/lmf/serial/
http://www.tldp.org/HOWTO/Modem-HOWTO-7.html
http://linux.about.com/od/mdm_howto/a/hwtmdm08t02.htm
http://stackoverflow.com/questions/16726559/configure-minicom-to-use-hardware-flow-control
http://www.linuxquestions.org/questions/programming-9/manually-controlling-rts-cts-326590/
TLV
A FAIRE : REGLER ECARTEMENT BNC COMME SUR LA CARTE MODULATION IQ
FAIT: trou pour connecteur IQ sur carte tlv: plus gros, et ajouter serigraphie, écrire librairie pour tlv 5637 et tester ce composant, en fait c'est le même code que pour le tlv5626, il y a les 8 bits de poids fort au même endroit. Le 5637 a juste 2 bits en plus à la fin
en p3 de http://www.ti.com/lit/ds/symlink/tlv5637.pdf , “
RECOMMENDED OPERATING CONDITIONS
Reference voltage, Vref to REF terminal VDD=5V AGND 2.048 VDD–1.5V
Reference voltage, Vref to REF terminal VDD=3V AGND 1.024 VDD–1.5V
Due to the x2 output buffer, a reference input voltage ≥ (VDD-0.4V)/2 causes clipping of the transfer function. The output buffer of the internal reference must be disabled, if an external reference is used ”
reference input voltage: –0.3V to VDD + 0.3V
CAUTION: If external reference voltage is applied to the REF pin, external reference MUST be selected
donc pour une alim en 3.3V, VDD–1.5V=1,8V et le 2.5 V de la zener ne va pas!!!!
DETERMINER D'apres la datasheet de la zener si il faut 10 ou 20ma
il faut 20mA pour polariser la zener, passer R à 120 ohm pour 5V et 40 ohm en 3.3V et ajouter jumper 2 broches pour choisir tension d'alim
A FAIRE: prévoir la place pour 1 ou 2 reférence de tension en + et jumper pour selectionner: NON MAUVAISE IDEE, les étudiants vont le cramer, ils l'utiliseront avec les refs de tension interne ou 1 seule zener avec un jumper pour la débrancher
FAIT: montage référence de tension proposé par hugues: http://www.onsemi.com/pub_link/Collateral/NCP431-D.PDF
datasheet: http://www.onsemi.com/pub_link/Collateral/NCP431-D.PDF
FAIT: AJOUTER 2 connecteurs BNC pour connecter a carte modulation pour sortie I et Q
FAIT: ajouter 2 jumper pour pouvoir déconnecter les 2 potars de la carte si on met le joystick
FAIT: ajouter serigraphie pour expliquer jumper VREF + les 2 jumper potar
AOP modulation Iq
ajouter serigraphie I0,I1;…
modifier trou des connecteurs alim + passer les IQ en 4mm
faire en sorte que la carte TLV se branche directement sur la carte AOP: mettre 2 connecteurs bnc au même ecartement que TLV
verifier diametre des trous pour BNC (percage + ame)
voir pour montage aop avec offset sur la voie +
NUMEROTER LES POTARS SUR LA SERIGRAPHIE
aop UA747CN: http://fr.farnell.com/texas-instruments/ua747cn/ic-op-amp-dual/dp/1470379?ref=lookahead
il est protégé contre le court circuit en sortie.
éventuellement, ajouter des régulateurs
infrarouge
http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html
Hardware setup The library can use ANY of the digital input signals to receive the input from a 38KHz IR receiver module. It has been tested with the Radio Shack 276-640 IR receiver and the Panasonic PNA4602. Simply wire power to pin 1, ground to pin 2, and the pin 3 output to an Arduino digital input pin, e.g. 11. These receivers provide a filtered and demodulated inverted logic level output; you can't just use a photodiode or phototransistor. I have found these detectors have pretty good range and easily work across a room.
led emettrice à connecter à PIN 3 (PWM)
https://www.pjrc.com/teensy/td_libs_IRremote.html
https://gist.github.com/EEVblog/6206934
http://forum.arduino.cc/index.php?topic=18230.0
http://www.build-electronic-circuits.com/arduino-remote-control/
il faut du 950nm (j'en ai 10): http://forums.futura-sciences.com/electronique/83501-led-ir.html
liste cartes pic
cartes anciennes numérotées de 1 à 16 cartes nouvelles numérotées de 17 à 23
carte 6 programmée pour festo
chargement binaire sur arduino
pour windows: http://liudr.wordpress.com/2013/03/03/load-compiled-binary-to-arduino-with-xloader/
pour linux en ligne de commande: http://stackoverflow.com/questions/15184932/how-to-upload-source-code-to-arduino-from-bash
flashage d'une uno avec une mega
vrac
ULN2803 actif à 0: http://www.onsemi.com/pub/Collateral/AMIS-39101-D.PDF
http://engineering.dartmouth.edu/courses/engs031/databook/udn2987.pdf
regulateur 9V: http://www.conrad.fr/ce/fr/product/179191/Regulateur-de-tension-positive-L7809CV-boitier-TO-220-Contenu-1-pcs-STMicroelectronics
http://fr.farnell.com/texas-instruments/ua78l08acpk/regul-tension-fixe-8v-100ma-sot/dp/2323474
http://fr.farnell.com/texas-instruments/ua78l09aclp/regulateur-ldo-fixe-9v-to-92-3/dp/2323585
carte régulateur PIC32
regulateur TC1262 en 5V: http://fr.farnell.com/microchip/tc1262-5-0vdb/regulateur-ldo-500ma-5-0v-sot223/dp/1852185
http://www.farnell.com/datasheets/1726424.pdf
condo 47uf 25V: http://fr.farnell.com/panasonic-electronic-components/eeeha1e470p/condensateur-electrolytique-25v/dp/1973327
http://www.farnell.com/datasheets/1446029.pdf
condo 4.7uf 25V: http://fr.farnell.com/panasonic-electronic-components/eeehd1e4r7ar/condensateur-cms-4-7uf-25v/dp/1714734
autres cartes pour PIC32
http://www.techtoys.com.hk/PIC_boards/PIC32STK%20SSD1963%20EVK/PIC32STK%20SSD1963%20EVK%20R1A.htm
https://github.com/grissiom/muttx-mirror/tree/master/nuttx/configs/pic32-starterkit
http://www.mouser.com/ds/2/268/Multimedia%20Board%20Users%20Guide%20%28DS61160A%29-20385.pdf
carte camera MT9V034
eagle
manuel V6: http://www.cadsoft.de/wp-content/uploads/2011/05/V6_manual_en.pdf
routage paires différentieles: http://electronics.stackexchange.com/questions/26775/eagle-matched-length-pairs-groups
http://sigalrm.blogspot.fr/2012/09/routing-differential-signals.html
INFOS BUS CAN EN VRAC
On Sun, Nov 23, 2014 at 04:29:37PM +0100, Burak Yuksel wrote:
Is there anyone there who is experienced, or having fundamental knowledge on CAN communication?
I've some experience, even though I'm not an expert in CAN bus.
I am currently having a problem of reading from a force sensor which is communicating with CAN 2.0B 1Mbit/s. I have PeakSystems converter, which supposed to be compatible with this specification, and I am trying to read on my Linux machine. So far I have NETDEV drivers and SocketCAN tools on PC.
It's difficult to help you, since you're not saying what is (are) the issue(s) you're facing… Lets start with a few generic advices:
1. you should try to use Ubuntu 14.04 for that, since the support for socketcan in 12.04 is only half present. Among others the can-utils package is missing in 12.04. You need to download the sources from httpsgitorious.org/linux-can/can-utils and build them. Having a 12.04 system with the 3.13 kernel (ie the 'linux-generic-lts-trusty package installed) probably helps. 2. The 'can0' interface is auto-configured by the kernel but not brought up. You need to run 'sudo ifconfig can0 up' to be able to use it. 3. Once you've the can-utils package installed and brought the interface up you can sniff the CAN bus trafic with the 'candump' utility (which is a 'tcpcump' for the can0 interface). This generally greatly helps understanding CAN protocol issues. 4. Make sure you have proper cabling with the 120 Ohm termination at the end. It doen't matter too much with short cables at low speeds, but at 1Mbit/s it will probably make a difference. See http://en.wikipedia.org/wiki/CAN_bus or http://www.ni.com/white-paper/9759/en/ for details. – Matthieu Herrb