Guten Tag, ich habe gelesen, dass der Max3392 ein Pegelwandler von 5V auf 3,3V ist. Es ist so, dass ich das Bluetooth-Modul BlueNiceComIV über die SPI Schnittstelle anschließen möchte. Nun dachte ich den 5V Pegel(Mosi, Miso)des Atmega128 über den Max3392-Baustein von Maxim auf den vom Bluetoothmodul benötigten von 3,3V anzupassen.Nur werde ich aus dem Datenblatt nicht ganz schlau, dort steht Vl 1,8V und Vcc 3,3V. Wieso nicht 5V? Oder muss ich die Spannung für Vl auf 1,8V mit einem Spannungsregler anpassen? Gruß Angelika
Oh, sorry, ich habe vergessen das Datenblatt anzuhängen. außerdem habe ich fälschlicherweise SPI Schnittstelle geschrieben, ich habe vor das Modul über die ISP-Schnittstelle anzuschließen. Angelika
Hallo zusammen, weiss jemand etwas dazu, oder bin ich mit dem Pegelwandler komplett auf der falschen Fährte? Angelika
Nun, die Präambel des Datenblatts nennt die möglichen Spannungsbereiche, und ein Betrieb mit V[L] = 3,3 V und V[CC] = 5 V ist da auf jeden Fall im Bereich des möglichen. Im weiteren Verlauf gehen die Beispiele allerdings dann sehr oft von V[L] = 1,8 V und V[CC] = 3,3 V aus, offenbar war diese Wandlung die wesentliche Motivation bei Maxim beim Entwurf dieser Pegelwandler. Ob du einen brauchst oder nicht, hängt vom Rest ab. 3,3-V-Logik wird häufig mit 5-V-festen Eingängen ausgeführt, dann benötigt man für diese Richtung keine Pegelwandler. Das Ausgangspotenzial eines 3,3-V-CMOS-Bausteins genügt in der Regel, um über die für 5-V-TTL- Pegel geforderten 2,2 V als high sicher hinaus zu kommen. Ist die nachgeschaltete 5-V-Logik aber nicht TTL-kompatibel, sondern reines CMOS, dann sind die knapp 3,3 V Ausgangspegel u. U. nicht für eine sichere Erkennung als high ausreichend.
Ich verwende zwischen meinem AT90CAN und dem BNC IV einen 74HC4050 als Pegelwandler. Allerdings benutze ich den USART, nicht SPI.
Meinst du mit ISP Schnittstelle auch den USART? Das BlueNiceCom kann nämlich nur über UART angesprochen werden...
Die ISP-Schnittstelle(in system programming) wird normalerweise dazu verwendet AVR Mikrocontroller zu programmieren. Signal: Pin: MISO 1 Vcc 2 SCK 3 MOSI 4 /RESET 5 GND 6 ich habe bereits eine ISP auf seriell getestet, d.h. einen PC über serielle Schnittstelle mit der ISP-Schnittstelle eines Controllerboards verbunden. Nun möchte ich das gleiche mit Hilfe von Bluetooth machen, also ohne Kabel. noch eine Frage: Mit was verbinde ich die Rx-Leitung des Bluetooth-Moduls? Mit Mosi oder Miso?
MISO liegt an TX MOSI an RX Da du die Verbindungen kreuzen musst, muss RX vom BNC an MISO vom AVR. Du benutzt also USART0... Scheibar ohne zu Wissen das du USART benutzt. Wie hast du das mit der Software gemacht?
Hier ein Beispiel,sendet Zahlen von 1-9
1 | #include <stdio.h> |
2 | #include <util/delay.h> |
3 | |
4 | #include "qfixSoccerBoard.h" |
5 | |
6 | /* CPU frequency */
|
7 | #ifndef F_CPU
|
8 | #define F_CPU 16000000
|
9 | #endif
|
10 | |
11 | /* UART baud rate */
|
12 | #define UART_BAUD 9600
|
13 | |
14 | |
15 | /*
|
16 | * Initialize the UART.
|
17 | */
|
18 | void uart_init(void) |
19 | {
|
20 | UBRR0H = 0; |
21 | UBRR0L = (F_CPU / (16UL * UART_BAUD)) - 1; |
22 | |
23 | UCSR0A = 0x00; |
24 | UCSR0B = _BV(RXCIE0) | _BV(TXEN0); /* tx/rx enable */ |
25 | /* Set frame format: 8data, 2stop bit;*/
|
26 | UCSR0C = _BV(USBS0)|_BV(UCSZ00)|_BV(UCSZ01); |
27 | }
|
28 | |
29 | void USART_transmit(unsigned char a){ |
30 | while(!(UCSR0A &(1<<UDRE0))){} |
31 | UDR0 = a; |
32 | _delay_ms(500); |
33 | }
|
34 | |
35 | int main (void){ |
36 | |
37 | uart_init(); |
38 | for(;;){ |
39 | char c; |
40 | for (uint8_t i=0; i<=9; ++i) { |
41 | c = i + '0'; |
42 | USART_transmit(c); |
43 | }
|
44 | }
|
45 | }
|
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.