Vi har fået udnyttet til GPIO-tilgængelige funktioner Raspberry Pi-computere, der opholder sig det meste af præcis samme i årenes løb, hvilket er grunden til det kan have fløjet lidt bit under radaren: Raspberry Pi 4 har seks SPI controllere, seks I2C controllere, samt seks UARTs – alle på sin 40-pin header. Du kan ikke gøre brug af af alle disse på en gang, men med så meget som fire forskellige forbindelser forbundet til en enkelt stift kan du skabe sig en ganske stærk kombination af periferiudstyr til din næste robotteknologi, automatisering eller katte hyrde projekt.
Den datablad for disse eksterne enheder er sjovt at gå igennem, med alt registeret kortlægger godt lagt ud – også selvom du ikke har planer om at arbejde med registerdata mappings dig selv, vil de vedligeholdere af dine stillede hardware kompetenceudviklende biblioteker har en enklere tid! Og, selvfølgelig, disse periferiudstyr er til stede på Compute Modul 4, også. Det kan føles som sådan en syndflod af grænseflader er for stor, men det kan du udrette noget helt fantastisk ting, der ikke ville være muligt andet.
Under flere I2C interface hjælper tilbyde med forskellige I2C-specifikke problemer, såsom adresse konflikter, gennemløb spørgsmål, samt blande gadgets, der understøtter forskellige maksimale hastigheder, som betyder, at du ikke længere kravet elegante MUX chips til at køre fem lav opløsning Melexis termisk video kamera sensorer på en gang. (Oh, samt I2C ur strække Fejlen er rettet!) SPI grænseflader er brugt til gadgets med høj båndbredde, samt med et par separate SPI porte, kan du køre flere skærme forholdsvis høj opløsning på en gang, No- Nixie Nixie ur stil.
Som for UARTs har Raspberry Pi ‘s en-og-en-halv UART-interface længe været en problem i robotteknologi samt hus automatisering applikationer. Med en masse gadgets som radiomodtagere / sendere, LIDARs samt holdbare RS485 multi-drop grænseflader der udbydes i UART formular, er det godt, at du ikke længere nødt til at ofre Bluetooth eller en debug konsol for at få nogle elegante sensorer kablet så meget som din robottens hjerne. Du kan tillade så meget som seks UARTs.
Sådan udnytter disse grænseflader?
Sætter disse grænseflader synes at være ligetil, samt folk på Raspberry Pi fora samt andre steder har været test-køre dem til deres egne bestræbelser. Alle tre typer grænseflader kan aktiveres udnytte dtoverlay linjer i config.txt. For SPI, den [MAST] blog hjælpsomt tilbyder nogle eksempler:
# Muliggør SPI6 med to CS ben – et på GPIO16 samt andre på GPIO26
dtoverlay = spi6-2cs, cs0_pin = 16, cs1_pin = 26
For I2C samt UART, Raspberry Pi forum tråde tilbudt et par eksempler. I2C eksempel:
# Muliggør I2C3, med SDA om GPIO4 samt SCL om GPIO5
dtoverlay = i2c3, pins_4_5
UART eksempel:
# Muliggør UART, med RTS samt CTS stifter (udelade ‘ctsrts’ del at deaktivere dem)
dtoverlay = uart3, ctsrts
Herfra vil disse grænseflader vises som du ville forvente dem, som / dev / spi6, / dev / I2C-3 samt / dev / ttyAMA * hhv. (De serielle porte ikke har aliaser endnu, så du får en meget mere / dev / ttyAMA havn føjet til de eksisterende.)
Vi blev forbløffet over at opdage om disse nye periferiudstyr, samt måske du var for? Vi kan ikke vente med at se, hvad du vil slutte med dem.
Hovedbilledet remixet fra Raspberry Pi 4 GPIO pinout diagram efter [Les Pounder].