Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
intern:dev [2012/03/03 08:13] – [Pinconstraints] svesch | intern:dev [2025/06/11 20:35] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Neueste Entwicklung an Netzer 2:0 ====== | ||
+ | |||
+ | ===== Features ===== | ||
+ | |||
+ | * Steuercontroller (PIC18, PIC24, dsPIC oder PIC32) | ||
+ | * Ethernetcontroller ENC424J600 | ||
+ | * Pin- und formfaktorkompatibles Interface zu Netzer 1 | ||
+ | * MicroSD-Kartenslot (per SPI angebunden) | ||
+ | * Externer RAM-Speicher (Parallel oder per SPI angebunden) | ||
+ | * Optional: Externes EEPROM (Per SPI angebunden) | ||
+ | * Versorgung mit 3.3V oder 5V (?) | ||
+ | |||
+ | ===== Überlegungen zu den Controllertypen ===== | ||
+ | |||
+ | Aus Platz- und Preisgründen wird ein 64-Pin-Gehäuse in der Bauform QFN bevorzugt. | ||
+ | Soweit bekannt, gibt es von jeder der angestrebten PIC-Familien ein passendes Derivat. | ||
+ | |||
+ | |||
+ | ==== PIC24 ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Hier ist der Typ **PIC24FJ256GA106** der Passende. | ||
+ | |||
+ | Für das 64-Pin Gehäuse hier noch die passende Pinmap: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | === Stromversorgung === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | Der Controller verfügt über einen internen Spannungswandler, | ||
+ | |||
+ | Die Operation bei maximalen Takt von 32 MHz ist gewährleistet, | ||
+ | **Brown-Out-Detektor** ist vorhanden (Spezifikation siehe Tabelle). | ||
+ | |||
+ | === Reset (MCLR) === | ||
+ | |||
+ | {{: | ||
+ | Empfohlener Schaltkreis laut Datenblatt (entspricht der aktuellen Netzer-Schaltung). | ||
+ | |||
+ | |||
+ | === OSC Beschaltung === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Es gibt folgende Möglichkeiten: | ||
+ | - EC (Externer Takt mit 0-32 MHz) | ||
+ | - ECPLL (Externer Takt mit 4-8MHz, mit PLL) | ||
+ | - HS (10MHz-32MHz Quarz) | ||
+ | - HSPLL (10MHz-32MHz Quarz, mit PLL) | ||
+ | - Intern (mit und ohne PLL) | ||
+ | |||
+ | Die PLL arbeitet mit einem fixen Faktor von 4. 32MHz ist der höchste interne Takt. | ||
+ | |||
+ | |||
+ | === Programmierung === | ||
+ | |||
+ | Es gibt drei ICD-Pinpaare, | ||
+ | |||
+ | |||
+ | ==== PIC18 ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Hier ist der Typ **PIC18F67K22** der Passende. | ||
+ | |||
+ | Für das 64-Pin Gehäuse hier noch die passende Pinmap: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | === Stromversorgung === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | Der Controller verfügt über einen internen Spannungswandler, | ||
+ | |||
+ | Für maximalen Takt muss **mindestens mit 3V** versorgt werden. | ||
+ | **Brown-Out-Detektor** ist vorhanden und konfigurierbar (1,8V, 2,0V, 2,7V und 3,0V). | ||
+ | |||
+ | **Übersicht** | ||
+ | |||
+ | ^ Signal ^ Pinliste ^ | ||
+ | | GND | 9, 18 (ENVREG disabled), 20 (AD), 25, 41 und 56 angeschlossen werden. | | ||
+ | | VDD | Pins 19 (AD), 26, 38 und 57 angeschlossen werden. | | ||
+ | | VDDCore | Pin 10 (wie links in der Grafik zu sehen.) Cf ist ein low ESR Typ (< 5 Ohm) mit Wert 10uF. | | ||
+ | |||
+ | |||
+ | === Reset (MCLR) === | ||
+ | |||
+ | {{: | ||
+ | Empfohlener Schaltkreis laut Datenblatt (entspricht der aktuellen Netzer-Schaltung). | ||
+ | |||
+ | === OSC Beschaltung === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Der maximale durch PLL generierte Takt ist 64 MHz. Die PLL läuft mit einem fixen Faktor von 4, d.h. ein Quarz mit **16 MHz** ist die ideale Taktquelle. Für serielle Anwendungen ist ein Quarz mit 14,7456 MHz ideal. | ||
+ | Möglicherweise kann auch alles über den internen Takt gemacht werden, sollte das RTCC-Modul genaue Zeitstempel für das Task-Switching generieren können. | ||
+ | |||
+ | |||
+ | |||
+ | ==== Programmierinterface ==== | ||
+ | |||
+ | Wie gewohnt werden PGD (RB7, Pin 37) und PGC (RB6, Pin 42) rausgeführt, | ||
+ | |||
+ | |||
+ | ==== Parallelport ==== | ||
+ | |||
+ | Der Ethernetcontroller und ggf. ein SRAM-Baustein werden über ein paralleles Interface angeschlossen. Dieser Controller weißt keine dedizierte parallele Schnittstelle auf, so dass beliebige Portpins verwendet werden können. | ||
+ | |||
+ | ===== Pinconstraints ===== | ||
+ | |||
+ | ==== Reset ==== | ||
+ | |||
+ | Der RESET-Pin ist für alle hier betrachteten Controller **Pin 7**. Die externe Beschaltung ist ähnlich. Der Serienwiderstand variiert im Wert (Bestückungsoption? | ||
+ | Der Pin wird wie bei Netzer 1.X auf den Netzer-Pinheader geführt. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== Stromversorgung ==== | ||
+ | |||
+ | === Pin 18 === | ||
+ | |||
+ | ENVREG des PIC18 kollidiert mit RB7 der anderen Controller. Für die weitere Diskussion wird angenommen, dass RB7 immer als Eingang konfiguriert ist. | ||
+ | - ENVREG wird hart auf Masse gelegt, dann operiert der PIC18 immer mit 3,3V. | ||
+ | - ENVREG wird per Widerstand auf Masse oder VCC gelegt. Dann wäre theoretisch auch VCC=5V möglich, jedoch müssen dann alle ICs auf dem Netzer das können, was mit dem EthernetController schonmal nicht geht. | ||
+ | |||
+ | Entscheidung: | ||
+ | |||
+ | |||
+ | === Pin 10 === | ||
+ | |||
+ | VDDcore des PIC18 kollidiert mit VDD der anderen Controller. In jeden Fall wird ein 100nF nach Masse gesetzt. Ein optionaler 0R-Widerstand für PIC24 und PIC32 nach VDD stellt die Verbindung her. Im Falle des PIC18 bleibt dieser Widerstand unbestückt. | ||
+ | |||
+ | |||
+ | === Pin 56 === | ||
+ | |||
+ | Hier kollidiert VSS des PIC18 mit VDDCORE der anderen Controller. Im Falle der anderen Controller wird ein 10uF an der Stelle benötigt, der im PIC18-Fall einfach durch einen 0R-Widerstand ersetzt wird. | ||
+ | |||
+ | |||
+ | Keine weiteren Konflikte. | ||
+ | |||
+ | |||
+ | ==== Quarz ==== | ||
+ | |||
+ | Der PIC18 kann mit maximal 16 MHz versorgt werden, die er intern auf 64 MHz hochtaktet. Der PIC24 kann von 8 MHz bis 32 MHz versorgt werden (ideal sind **8 MHz**). PIC32 muss noch näher evaluiert werden. | ||
+ | Es sollte außerdem die Option vorgesehen werden, den Ausgangangstakt des Ethernet-Controllers als Taktquelle zu nutzen, dieser wird dann an OSCIn angeschlossen. Taktoptionen des ENC424J600: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== Parallel angebundener Ethernet-Controller ==== | ||
+ | |||
+ | Der Ethernet-Controller ENC424J600 wird parallel angebunden (Mode 5 oder 6), um einen höheren Durchsatz als bei SPI-Anbindung zu erreichen. Der erweiterte Adressbus wird ebenfalls angebunden, um vollen Zugriff auf den Speicher des Controllers zu erlangen. | ||
+ | Einige Controller verfügen über ein Parallel Master Port (PMP), damit geht der Zugriff dann noch schneller. Für das PMP wurde das Pinning optimiert. | ||
+ | |||
+ | ^ Pinname ^ ENC424 ^ Netzer-uC ^ PIC18F6XK22 ^ PIC24FJ256GA106 ^ dsPIC ^ PIC32 ^ | ||
+ | | AD0 | 38 | 60 | RE6/ | ||
+ | | AD1 | 39 | 61 | RE5/ | ||
+ | | AD2 | 40 | 62 | RE4/ | ||
+ | | AD3 | 41 | 63 | RE3/ | ||
+ | | AD4 | 5 | 64 | RE2/ | ||
+ | | AD5 | 6 | 1 | RE1/WR/P2C | CN63/ | ||
+ | | AD6 | 7 | 2 | RE0/RD/P2D | SCL3/ | ||
+ | | AD7 | 8 | 3 | RG0/ | ||
+ | | AD8 | 25 | 32 | RC7/RX1/DT1 | SCL2/ | ||
+ | | AD9 | 26 | 31 | RC6/TX1/CK1 | SDA2/ | ||
+ | | AD10 | 27 | 28 | RA4/T0CKI | TDI/ | ||
+ | | AD11 | 28 | 27 | RA5/ | ||
+ | | AD12 | 29 | 24 | RA0/ | ||
+ | | AD13 | 30 | 23 | RA1/AN1 | TMS/ | ||
+ | | AD14 | 31 | 44 | RB4/KBI0 | RP3/ | ||
+ | | CS | 34 (VDD)| NC||||| | ||
+ | | WR/EN | 35 | 49 auf PIC18, sonst 52 | RD7/ | ||
+ | | RD/RW | 36 | 53 | RD3/PSP3 | RP20/ | ||
+ | | AL | 37 | 30 | RC0/ | ||
+ | | INT | 24 | 43 | RB5/ | ||