Hallo,
ich benötige bei einem AD-Wandler eine aktive Frame-Zeit von 16
SCK-Takten. Die inaktive Zeit soll uneingeschränkt sein, also beliebig
lang. Die /SSx-Leitung gibt mir aber nur einen Impuls von nur einer
Taktlänge. Ist es möglich diese Länge auf 16 Takte zu verlängern?
Funktioniert das nicht mit der Einstellung "MODE16"?
Benötigte Einstellung des Wandlers:
SPI Master, Frame Master, 16Bit, Taktpolarität Low, Frame-Polarität
aktiv Low.
Zeitdiagramm der Signale, welche der Wandler benötigt:
Inaktive Zeit Aktive Zeit von genau 16 SCK-Takten
/SSx -------------________________________________----
SDI xxxxxxxxxxxxx__--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SCK -------------_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-----
SDO ____________--__--__--__--__--__--__--__--_____
Freundliche Grüße
LK
Lutz Kalle schrieb: > Hallo, > > ich benötige bei einem AD-Wandler eine aktive Frame-Zeit von 16 > SCK-Takten. Die inaktive Zeit soll uneingeschränkt sein, also beliebig > lang. Die /SSx-Leitung gibt mir aber nur einen Impuls von nur einer > Taktlänge. Ist es möglich diese Länge auf 16 Takte zu verlängern? > Funktioniert das nicht mit der Einstellung "MODE16"? > > Benötigte Einstellung des Wandlers: > SPI Master, Frame Master, 16Bit, Taktpolarität Low, Frame-Polarität > aktiv Low. > http://ww1.microchip.com/downloads/en/DeviceDoc/DS-61106F.pdf "The control bit FRMSYPW (SPIxCON<27>) can be set to configure the width of the frame synchronization pulse to one character wide. Note: The FRMSYPW bit is not available on all devices. Refer to the specific device data sheet for details." Die PIC32MX1xx und 2xx, 5xx, 6xx, 7xx haben das, die 3xx und 4xx nicht.
Slave select macht man mit einem normalen Port-Pin, den macht nicht das SPI-Modul. Folglich geht das ganz ganz einfach
Michael H. schrieb: > Slave select macht man mit einem normalen Port-Pin, den macht nicht das > SPI-Modul. Bessere SPI-Module können das autom. inkl. Delays vor und nach dem Beginn eines Transfer (z.B. Renesas RX62) > Folglich geht das ganz ganz einfach Andererseits ist FRMSYPW zusammen mit FRMSYNC zu dem was der TO machen möchte verwendbar. "FRMSYNC: Frame Sync Pulse Direction Control on SSx pin bit (Framed SPI mode only) 1 = Frame sync pulse input (Slave mode) 0 = Frame sync pulse output (Master mode)" "FRMSYPW: Frame Sync Pulse Width bit(4) 1 = Frame sync pulse is one character wide 0 = Frame sync pulse is one clock wide"
Ersteinmal vielen Dank für eure schnelle Hilfe. Das würde bedeuten, daß ich die /SSx-Leitung als Port definiere und die Select-Timings selber verwalte. Denn ich muß 16 Bit vom AD-Wandler empfangen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.