-
Thread
PCIe Switch mit FPGA
Warum willst du das tun? Gibt spezialisierte Chips dafür, z.b. https://www.microchip.com/en-us/products/interface-and-connectivity/pcie-switches
mit dem Artix deutlich besser. Das P/L Verhältnis in Sachen Resourcen / Kosten ist Faktor 1.5 ... 2.0 besser und besonders für Signalverarbeitung: Mein MUL_TEST-Design liefert für einen 128-Bit-MUL beim Spartan z.B. 64 verbrauchte DSP-Elemente und 6000 FFs, läuft aber nur auf 80MHz. Der Artix braucht
-
Thread
CAN als "Open-Drain"?
Fehlerkorrektur von CAN. Vorgesehene Buslast darf eben nicht zu gross sein. Maxim B. schrieb im Beitrag #7355428: > Wenn i2c schon einige Meter überdeckt, warum könnte > das "unter-CAN" nicht? CAN kann :-).
Bauform B. schrieb im Beitrag #7355913: > Dann nimm wenigstens Patchkabel mit RJ45. Aber schlau wäre es, die Versorgung dann so anzuschließen, dass nicht der Ethernettrafo des aus Versehen angeschlossenen 2k
-
Thread
Sipeed Longan Nano - USB C durch A ersetzen
wäre auch optimal. Noch eine Alternative: an der Seite einen USB auf UART Wandler anlöten. (RX auf TX und TX auf RX und 3V3 auf 3V3 und GND auf GND) Dann hättest du deine erste Anforderung ("seriellen Monitor"). Ein USB Stick (so zum Daten drauf speichern) ist es damit aber nicht.
schrieb, mach erstmal die Software, um das Steckerproblem kannst du dich immernoch spaeter kuemmern,z.B. mittels eigener Platine. Ist doch ein nettes Projekt. Aber vielleicht solltest du gleich zu einem potenteren Mikrocontroller greifen?
-
Thread
Literatur zum Selbstbau von Sendern und Empfängern
Frequenz-Verdreifacher, oder Wie mache ich ein Helixfilter? Ich habe eine Menge daraus gelernt. Die 2 Bücher gibt's wohl nur noch antiquarisch, dafür preiswert. Must have. Dann Eric T. Red, HF-Arbeitsbuch. isbn 3-88976-132-2 Beam-Verlag Vom Inhalt her nicht schlecht, aber ich mag den Stil nicht
Hobby B. schrieb im Beitrag #7359418: > PN mit Email ist raus an Dich, Schon angeschrieben.
-
Thread
Raspberry Pico PIO
ich langsam mit dem Gedanken einen RP2040 zu nehmen und fünf 8-Bit PISO-Schieberegister zu nehmen (z.B. 74HC165). Der RP2040 ist mit etwas mehr als 1€ viel günstiger als ein STM32F103 (selbst mit den zuätzlichen Flash, weil wenn brauche ich auch einen der größeren der über 10€ kosten würde) und es macht
hat der RP2040 sogar zwei Cores... eine sehr > feine Sache. Dann erzähl doch mal, wofür Du den 2. Kern verwendet hast, ohne daß der 1. Kern diese Dinge miterledigen konnte ;-)
-
Thread
STM32 USART1 IT Bytes verlust
sendest deutlich nach Wiedereinschalten Testdaten Genau ich sende ein Testpattern repetitiv: A, B , C ... und zum schluss 0xFF > 2. Die Baudrate ist auf <<3% genau (also kein RC oder sowas intern, da > würde auch 9.6 nicht laufen) Wird aktuell in nem FAKE F0 genereriert, gleichen Verdacht
MMM schrieb im Beitrag #7351522: > Marc V. schrieb: >> Auch bei 9600B? > > JA >> Das glaubst du wohl selber nicht... > > Eigentlich ja :-( Bei 9600B dauert es von Byte zu Byte 1ms, selbst mit DMA. Dass irgendein STM32 Interrupt *für 2ms blockiert ist* - das
-
Thread
kennt jemand das Alinco DJ-596E Handfunkgerät
sind EBP-50 und EBP-51, die waren bei Alinco zu dieser Zeit in mehreren Geräten im Einsatz, gibt es z.B. heute noch bei Maas: https://www.maas-elektronik.de/ALINCO-EBP-50N-Akku-Ni-NH-fuer-DJ-Serie.2.html Gruß... Bert
wie vor ein schönes Gerät ist mit vielen brauchbaren Funktionen. ALINCO DJ-596 E MKII ( Extended TX & RX ) 136-174 MHz und 400-511,990 MHz dazu das Batterie Pack mit guten Akkus und ein Maas Mike. Aber nicht mit der Original Antenne die taugt leider nicht !
-
Thread
DMX-Empfang mit STM32F767
configured peripherals */ MX_GPIO_Init(); MX_UART5_Init(); MX_USART1_UART_Init(); MX_TIM2_Init(); MX_RTC_Init(); /* USER CODE BEGIN 2 */ HAL_UART_Transmit(&huart1, "MAINBOARD_DMX_TEST_V_0_3\r\n",28 ,1000); HAL_GPIO_WritePin(GPIOE, GPIO_PIN_11, GPIO_PIN_RESET); // /D/E_IN_TX
huart5.Instance = UART5; huart5.Init.BaudRate = 250000; huart5.Init.WordLength = UART_WORDLENGTH_8B; huart5.Init.StopBits = UART_STOPBITS_2; huart5.Init.Parity = UART_PARITY_NONE; huart5.Init.Mode = UART_MODE_RX; huart5.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart5.Init.OverSampling =
-
Thread
Kommunikation zwischen zwei Mikrocontrollern. welches Protokoll?
hohe Robustheit geringe Latenz Die Datenrate ist nicht so wichtig. In Hardware könnte ich z.B. nutzen: USART SPI I2C/TWI oder etwas eigenes Es ist ein AVR-Controller.
sind kleine Fifos oder DMA am Eingang interessant, wenn Interrupts zu lange gesperrt sind. Also z.B. 100µs bei 115.2. Gerade für einen Anfänger erhöht sich die Komplexität deutlich.
-
Thread
CH348 USB zu 8 Port Serial (UART)
betreibst du eine Retro BBS mit 8 Modems? Wie gesagt für die Produktion ist es gut neben RX und TX auch weiter Pins zu haben welche man einfach ansteuern kann um bestimmt Events zu initialisieren. Wie z.B. Bootloader starte oder eine Testprozedur usw...
Handshake-Leitungen, manchmal auch DSR und DTR, es gibt z.B. Maschinensteuerungen, die neben TX und RX weitere 2 oder sogar weitere 4 Leitungen wollen.
-
Thread
2m Amateurfunk
Spaß - wobei man aber -natürlich- in den abendlichen deutschsprachigen "Power" 80m Runden -750W mit 6dB Leistungsreserve an einer Yagiantenne auf den 2ha großen Grundstück in DL hat halt nicht jeder...- und auf 160m in Phonie natürlich auch nicht gerne rein gelassen wurde... Was man gegen die unbelebten
Zu spät, seit über 2 Sonnenzyklen dabei.
-
Thread
UKW-Rundfunk besser als Digitalradio
UKW-Radios von Anfang der 50er Jahre sind so heute noch benutzbar und werden auch noch benutzt (z.B. bei uns zuhause). Das ist eine ganz andere Größenordnung als die abrupte Umstellung von z.B. DVB-T auf DVB-T2 HD, wo schlimmstenfalls gerade mal 3 Millionen TV-Empfangsgeräte ersetzt werden mussten
im Beitrag #7347272: > Das ist eine ganz andere Größenordnung als die abrupte Umstellung von > z.B. DVB-T auf DVB-T2 HD, wo schlimmstenfalls gerade mal 3 Millionen > TV-Empfangsgeräte ersetzt werden mussten, um weiterhin terrestrisches TV > sehen zu können. von den gesamten Fernsehzuschauer in
-
Thread
TTL oder RS232 bei 3m Signalweg über Cat 5?
(z.b. SPI) ist das ein Problem. Bei Uart (wie RS232, mit start, Daten, Stopp, RX und TX separat) spielen Reflexionen keine Rolle, die um eine Größenordnung kleiner sind als ein Bit.
Terminierung am Eingang (gegen GND oder Vcc/2) möglich. Und dann z.b. 1k am Ausgang (Nicht, dass ich das empfehle oder für EMV-gerecht halte. Es funktioniert aber rein technisch als Hack oder Zwischenlösung zuverlässig)
-
Thread
USB-C auf CP2102N
1. Gibt es irgendwelche Probleme, die beim Verbau eines USB-C mit 24 Pins auftreten können? 2. Soweit ich das verstanden habe, reicht es, nur die Pins auf der A oder B-Seite des USB-C Anschluss zu verbinden. Stimmt das? 3. Gibt es sonst irgendwelche Dinge zu beachten bezüglich Schirmung, etc
noch die beiden Widerstände an den CC Leitungen, ohne die wird das nix. Jeweils 5,1k von CC1 und CC2 nach Masse. Die 2.0 Datenleitungen der beiden Richtungen solltest du direkt am Stecker auf deiner Platine verbinden.
-
Thread
TP-Link EAP245: POE-Passthrough durch Mod möglich?
DC-Leitungen abzweige: Verliert er damit die Gigabitfähigkeit bzw. wird die Verbindung instabil? (2) Direkt hinter den RJ45-Buchsen sind im EAP245 GroupTek1000BaseTx-Magnetics Modules verbaut: https://datasheetspdf.com/pdf-file/1297016/GROUP-TEK/HST-24082DR/1 Kann ich diese irgendwie klug in mein
Außenbereich. Wenn der EAP245 da überlebt (was ich mir nicht vorstellen kann), dan überlebt dort z.b. auch der Kollege hier -> https://www.omg.de/ubiquiti-networks/unifi/unifi-switch/ubiquiti-unifi-switch-flex-usw-flex/a-21205 Hier überleben 2 davon zumindest seit 3 Jahren unter dem Dachüberstand
-
Thread
EZR32 L-Match über VNA
sehen, ob sich bei der Betriebsfrequenz diese Impedanz ergibt. Annahme: die Last/Antenne ist der Port 2 des Anpassnetzwerks, und der Eingang (Richtung TX-Ausgang plus Resonanzkreis) ist der Port 1. > Oder justiert man das Netzwerk nicht nach und nutzt nur > die errechneten Werte und schaut sich das
BeschaltungLP.jpg) welche Werte sich ergeben haben. Wenn für die Induktivität eine Güte Q=33@250MHz (Q-Mode 2) und eine Eigenresonanz SRF=2GHz angenommen wird, liegt man auch in der Simulation mit der Eingangsimpedanz (Ze=13,8+j15,2) in der Nähe des theoretischen Wertes. Daniel schrieb im Beitrag #7349937
-
Thread
ADC über SPI
) >> 2), (0 & 0b11) << 6, 0x00}; uint8_t message[3] = {0b110, 0b00000000, 0x00}; ich hätte aber gedacht man müsste der Reihenfolge entsprechend: uint8_t message[3] = {0b00000001, 0b10000000, 0x00};
RT schrieb im Beitrag #7345430: > gemäß deinem Code wären die messages: > uint8_t message[3] = {0b100|(1 << 1)|((0 & 0b100) >> 2), (0 & 0b11) << > 6, 0x00}; > uint8_t message[3] = {0b110, 0b00000000, 0x00}; > Schau dir noch mal genau an, was mein Code macht. Für Kanal 0 im Single-Ended Mode
-
Thread
Arduino Blue Pill & CAN mit SN65HVD230
0xFFFF9FFF; // reset CAN remap // CAN_RX mapped to PA11, CAN_TX mapped to PA12 if (remap == 0) { RCC->APB2ENR |= 0x4UL; // Enable GPIOA clock GPIOA->CRH &= ~(0xFF000UL); // Configure PA12(0b0000) and PA11(0b0000)
0x00005000; // set CAN remap // CAN_RX mapped to PD0, CAN_TX mapped to PD1 (available on 100-pin and 144-pin package) RCC->APB2ENR |= 0x20UL; // Enable GPIOD clock GPIOD->CRL &= ~(0xFFUL); // Configure PD1(0b0000) and PD0(0b0000)
-
Thread
UART Übertragungsfehler bei bestimmten Zahlenwerten
STM32 MDK Arm Code: char input,output; bool test = 0; bool change = 0; uint32_t run = 0; uint16_t tx_value = 12340; [c]void Task1(uint32_t T_ms){ output = NULL; if (run==1) tx_value=0b0000010100000101; //else if(run==2)tx_value='a'; /*else if(run<=26) { if(change==0){ tx_value = ((run << 8) | (run+1)); } else tx_value = 'n'; run++; } */ else if(run==2) { tx_value = 'a'; } else if(run==3) { tx_value = (1872); } else if(run==4) { tx_value = 'n'; } else if(run==5)
-
Thread
CAN isolieren mit LAN-Magnetics
Für ESD wichtiger ist dann imho, die Busleitungen gegen das dazugehörige GND-Niveau zu sichern, z.B. mit PESD2CAN-Schutzdioden.
Den CAN-Treiber brauchst Du eh, also kommen an Zusatzkosten ein Digital-Isolator (z.B. ADUM12x1B oder 2x6N137) und einen DCDC-Wandler (z.B. RFM-0505S oder Würth 1769205132). Das kostet doch keine 15..20€.
-
Thread
Wie sauber samplerate vervierfachen
was zu Additionen führt. Nimmt man die lineare Interpolation, habe ich bei den beiden Punkten A und B die neuen Punkte A0, A1, A2, A3 sowie B0, B1 ... und muss rechnen: A2 = (A0 + B0) / 2 A1 = (A0 + A2) / 2 A3 = (A2 + B0) / 2 Mit Faktor 4 erweitert und in die Gesamtrechnung geschleppt, sind das
für ein gut gebautes anti aliasing filter und zwar am Ein- und Ausgang. Als ein Beispiel hat ein 24dB-Sperr/Rekonstruktionsfilter bei der Grenzfrequenz fs/4 eine 3dB-Dämpfung und bei fs/2 eben noch 24dB. Schaltet man sie gedanklich in Reihe, verdoppelt sich die Wirkung und bei fs/2 ist praktisch alles
-
Thread
Bit error rate ermitteln
muss diese definiert sein, z.B. in der Konfiguration des Messgerätes.
aber dessen σ. https://matheguru.com/stochastik/standardabweichung.html#:~:text=Genauer%20gesagt%2C%20gibt%20sie%20an%2C%20wie%20weit%20die,Standardabweichung%20ist%20definiert%20als%20die%20Quadratwurzel%20der%20Varianz.
-
Thread
Interrupt aus main aufrufen AVR
:~/Downloads$ avr-gcc -Wall -gdwarf-2 -std=gnu99 -O1 -mmcu=atmega328p test.c test.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int] ISR(USART_TX_vect) // ISR(USART_TX_vect) ^ test.c: In function ‘ISR’: test.c:3:1: warning
PB1: Ausgang 84: 84 b1 in r24, 0x04 ; 4 86: 83 60 ori r24, 0x03 ; 3 88: 84 b9 out 0x04, r24 ; 4 USART_TX_vect(); 8a: 0e 94 3e 00 call 0x7c ; 0x7c <__bad_interrupt> PORTB
-
Thread
ISR Aussetzer durch Volatile-Variablen-Polling ?
Falk B. schrieb im Beitrag #7338470: > Dein Code ist schlecht formatiert und fragwürdig. > a) uart0_rx_flag noch true ist? > b) der Puffer voll ist? Bei mir im AVR-Studio sehen die Klammern aus wie sie
Falk B. schrieb im Beitrag #7338823: >> Wenn es nur innerhalb der ISR verwendet wird, dann nicht. > > Wird sie aber NICHT Falk B. schrieb im Beitrag #7338825: >> Müsste overrun nicht volatile sein?
-
Thread
Wie wichtig ist eine Mini-USB-Buchse zum Laden für die Kundenakzeptanz
Joachim B. schrieb im Beitrag #7339227: > zur Ausgangsfrage, nichts nervt (mich) oder Kunden so sehr wie der > übliche 5,5mm/2,1mm Mix mit mal + mal - aussen, mal 5V mal 12V > > Wenn schon Rundbuchse, dann
Wenigstens einer der mich verstehen will;-) Andererseits ist diese Verordnung eher für Endkundengeräte (B2C). Für Firmen (B2B) gibt es vielleicht andere Hersteller. Und das Groß der Endkunden hat andere Prioritäten als "Fachanwender".
-
Thread
Sample Frequenz 48 KHz vs. 44 KHz
der Messtechnik passiert, nämlich bei einer zu messenden Grenzfrequenz von nominell 20kHz (@3dB) eine Oktave frei zu lassen, um zwischen einen steilen Filter unterzubringen und dann mit etwas headroom von 20% abzutasten. Damit kommt man schon mal gut hin. Das wären dann 40x2*1,2 ungefähr 96kHz.
Toleranzen, die verbaut werden, nicht dazu führen, dass nicht kompensierbare Lücken entstehen. Das ist z.B. dadurch zu erreichen, dass der nächst höherwertige Widerstand nicht Faktor 2, sondern mit Faktor 1 - 2% ausgelegt wird. Dann lässt sich durch ausregeln immer eine Kombination der darunter verbauten
-
Thread
Task Manager
task wartet und ruft den dann auf uartsend(ch) if(uart.busy) uart.sendqueue.push(ch); else uart.tx=ch; uartempty(void) if(!uart.sendqueue.empty()) uart.tx=uart.sendqueue.pop(); void interrupt uartTX() addtask(uartempty); addtask(calladdress) waitqueue.push(calladdress); main: while(1)
wenig RTOS-Features brauchst, gibt es evt. noch einfacheres. Oder plattformspezifisched. Es gibt 2 beliebte Fehler: 1. Der Geschmack kommt beim Essen. Man bastelt selbst nur (z.B. Scheduler) und baut frickelt später alles andere (z.B. Queues) nach. 2. Man fühlt sich gezwungen, ALLE Features
-
Thread
Wie alle veröffentlichten Videos eines Youtubers anzeigen
www.haus-der-astronomie.de/faszi-astro-online ältere, https://www.youtube.com/playlist?list=PL6v1Ej3QgEXUtDCV-6uwRiRW-K1JiTxO-
es sich aber erreichen. So einfach ist das... Das heißt, schaut man Video Teil 1 und will Teil 2 schauen, dann muss man, wenn der Youtuber es verlinkt hat, im Abspann anklicken. Dadurch wird erreicht, dass man auf jeden Fall den 1. Teil anschaut und nicht mit dem 2. beginnt.