B00601 ist ein reines Demo- und Testboard. Das Projekt demonstriert in erster Linie die Umsetzung des Cy4NET-Stacks auf Controllern vom Typ STM32. Aus diesem Grund existiert auch kein fertiges PCB sondern als Träger dient prototypisch eine Lochrasterplatine.
Herzstück der Schaltung bildet ein Evaluierungsboard vom Typ Nucleo-32-STM32F303. Hersteller STMicroelectronics hat diese Variante seiner Nucelo-Boards mit einem STM32F303K8T6 ausgestattet, einem Controller der mit
4K RAM und 64 KB Flash eher zu den kleineren Derivaten der STM32-Familie
zählt, was aufgrund der ressourcenschonenden Eigenschaft des Cy4NETs
aber kein Problem darstellt.
Als Testkomponenten besitzt B00601 einen Taster und zwei LEDs. Da
der CAN-Bus-Transciever 82C251 nur im SO8-Gehäuse zur Verfügung stand,
wurden seine Anschlüsse kurzerhand auf einen DIP8-Stecker erweitert,
was zu der kleinen goldenen Spinne auf der Platine führte.
Da der STM32 mit einer Kernspannung von nur 3,3V arbeitet, der 82C251
für seine Arbeit aber 5V Signale benötigt, müssen die RS232-Pegel der
beiden Kommunikationspartner angepasst werden. Diese Aufgabe erledigt
hier der fertige Open-Hardware-Pegelwandler ST1167. Er verfügt über 2
bidirektionale Kanäle von denen hier aber nur einer zum Einsatz kommt.
Im Grunde würde es ausreichen, nur das TX-Signal des Controllers (PA9)
von 3,3 auf 5V heraufzusetzen. Der für RX geschaltete Pin PA10 des
STM32F303K8T6 ist TTL verträglich, könnte also auch das Ausgabesignal des 82C251 direkt vertragen.
Im oben abgebildeten Schema finden sich die entsprechenden Anschlüsse der Schaltung im Stil des Fritzing. Der Busanschluss ist als dreipolige JST-Buchse herausgeführt.
Das Nucleo-32 STM32F303 Evaluierungsboard verfügt neben dem Controller
und den zahlreichen Anschlussmöglichkeiten auch über ein fertigen
Programmieradapter. Mit einer passenden Entwicklungsumgebung (in diesem
Fall STM32CubeIDE) ist es unmittelbar möglich, via USB mit dem
Controller direkt in Kontakt zu treten und darauf laufende Software auf sourcelevelebene zu debuggen
Wie
alle Cy4NET-Boards verfügt auch B00601 mit A00001 über einen passenden
Programmlader. Im Unterschied zu ATmegas, wo der Programmlader am Ende
des Programmspeichers angesiedelt ist, befindet sich der Programmlader
beim STM32 bauartbedingt am Anfang des Flashspeichers. Beim Bau von
Appliaktionen ist daher darauf zu achten, diesen Anfangsbereich
freizulassen und den Startpunkt der Applikation per Linkerscript hinter
den Programmlader (auf Flash-Seitengrenzen) zu verlegen. Da A00001 mit ca.
3900 Bytes die ersten 2 Seiten (4096 Bytes) des Flashspeichers belegt muss die Applikation bei 4K starten. In der passenden Demoanwendung A00322 wird das im dortigen Linkerscript bereits berücksichtigt.
Bei dem im Projekt enthaltenen 3D-Objekt handelt sich sich lediglich um
eine Halteschale die die Kontakte auf der Unterseite von B00601 vor mechanischer Belastung schützt.