-
Thread
Ethernetfähiges µC-Board und andere Herausforderungen
Mit USB sollte es auch gehen. Interrupt-Transfer kann man auf 1ms Abtastzeit stellen.
Aber morgen (heut ist zu spät für sowas :-) ) werd ich mir mal ansehen, was es mit der Interupt-Transfer-Rate auf sich hat. Die Steuerung ist ne Fuzzy-Logic. Die ließe sich wohl auch ebensogut auf dem µC unterbringen. Jedoch wird die von einer Kamera mit Daten gefüttert. Diese macht 250 Bilder/
-
Thread
Xilinx ISE 13.2 -> Frage: ISE -> SDK Transfer
Karte über SPI. Meine Frage ist nun, ob mit der aktuellen Version auch eine Änderung im Bereich Transfer XPS(EDK) -> SDK vorgenommen wurde. Es geht um die Funktion "Export Hardware Design to SDK with/without Bitstream". Da der Microblaze im VHDL Design eine Komponente sein soll (das hinzufügen
Bitstream". ISE 13.2 : Gleiches Projekt migriert -> beim Top Level erscheint keine Option zum SDK Transfer, sondern nur wenn ich das Microblaze System als Komponente anklicke. Da ich aber nicht nur das "Teil"-System nach SDK transferieren will, sondern auch das dazugehörige Top Level mit evtl. vorhanden
-
Thread
Skurriles Problem mit BS170 Mosfets
über einen Widerstand auf Masse geklemmt. Also wirkt der kapazitive Spannungsteiler aus Revers-Transfer-Kapazität (Miller-Kapazität zwischen Drain und Gate) und der Gate-Kapazität. Der schaltet den MOSFET ein.
über einen Widerstand auf Masse geklemmt. Also > wirkt der kapazitive Spannungsteiler aus Revers-Transfer-Kapazität > (Miller-Kapazität zwischen Drain und Gate) und der Gate-Kapazität. > Der schaltet den MOSFET ein. genau so sieht's aus!!! Ich hatte das Gestern mal getestet mit einem 2N7000, der
-
Thread
STM32F4 Discovery: Problem mit DMA (ADC + Audio DAC)
ENABLE); DMA_ITConfig(DMA1_Stream7, DMA_IT_TC, ENABLE); // Enable DMA request after last transfer //ADC_DMARequestAfterLastTransferCmd(SPI3, ENABLE); // Enable SPI DMA //ADC_DMACmd(SPI3, ENABLE); SPI_I2S_DMACmd(SPI3,SPI_I2S_DMAReq_Tx,ENABLE); device.initAudioDac(); //Audio-DAC
an // Alles einschalten // DMA Request nachdem ADC1 fertig ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE); // ADC1 DMA anschalten ADC_DMACmd(ADC1, ENABLE); // ADC1 anschalten ADC_Cmd(ADC1, ENABLE); //------------------------------------------------brauch ich das?!
-
Thread
u8g2 lib - SSD1309 mit Hardware-SPI aber ohne Arduino?
SPI_CLK_POLARITY); spi_set_clock_phase(SPI_MASTER_BASE, SPI_CHIP_SEL, SPI_CLK_PHASE); spi_set_bits_per_transfer(SPI_MASTER_BASE, SPI_CHIP_SEL, SPI_CSR_BITS_8_BIT); spi_set_baudrate_div(SPI_MASTER_BASE, SPI_CHIP_SEL, (sysclk_get_peripheral_hz() / SPI_BAUDRATE)); spi_set_transfer_delay(SPI_MASTER_BASE,
case U8X8_MSG_BYTE_END_TRANSFER: u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL); u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level); break;
-
Thread
Atmel SAM - USB iso Endpoint Funktionsweise
. Mir fehlt es nur etwas am Verständnis der Funktionsweise. Konkret geht es um einen isochronen Transfer. Im Beispiel wird ein simpler Loopback in Verbindung mit einer Testsoftware auf dem PC implementiert. Hier mal ein Code-Ausschnitt der hauptsächlich wichtigen Funktionen: [c] bool udi_vendor_iso_out_run
iram_size_t nb_transfered, udd_ep_id_t ep) { uint8_t *buf_ptr; UNUSED(ep); if (UDD_EP_TRANSFER_OK != status) { return; // Transfer aborted, then stop loopback } if (nb_transfered) { ui_loop_back_state(true); // Send on IN endpoint the data received on endpoint OUT
-
Thread
PIC32 SPI2 Interrupt Probleme (1xx_2xx Serie)
INT_SUB_PRIORITY_LEVEL_0); INTEnable(INT_SPI2, INT_ENABLED); SpiChnPutC(SPI_CHANNEL2, 0); //starte transfer ... [/c] soweit so gut, Ende vom Lied: Ich habe gemerkt, dass in der "int_1xx_2xx.h" des compilers die kompletten Makros für den SPI2 fehlen. Dementsprechend werden sie vermutlich auch nicht
SPI2EIE_POSITION)) /********************************************************************* * SPI 2 Transfer ********************************************************************/ #define mSPI2TXClearIntFlag() (IFS1CLR = _IFS1_SPI2TXIF_MASK) #define mSPI2TXGetIntFlag() (IFS1bits.SPI2TXIF
-
Thread
Attiny 2313 als SPI Slave - Übertragungsprobleme
digitalWrite(PIN_LED, HIGH); ledState = HIGH; digitalWrite(PIN_SS_ATTINY2313, LOW); SPI.transfer(CMD_LEDON); digitalWrite(PIN_SS_ATTINY2313, HIGH); } void ledOff() { digitalWrite(PIN_LED, LOW); ledState = LOW; digitalWrite(PIN_SS_ATTINY2313, LOW); SPI.transfer(CMD_LEDOFF)
USISR = (1<<USIOIF); // clear overflow flag } /** * USI overflow intterupt - triggered when transfer complete */ ISR(USI_OVERFLOW_vect) { cmd = USIDR; USISR = (1<<USIOIF); // clear overflow flag cmdAvailable = true; } [/c] Wie ihr seht ignoriert der Slave aktuell
-
Thread
Byte auf verteilten Ausgängen ordnen
low-aktiv oder high-aktiv getauscht werden. Vielleicht würde dir das hier helfen: #define bitTransfer(a,b,c,d) if(bit( c , d )){bitSet( a , b );}else{bitClear( a , b );} Du gibst deine Signale nicht auf PORT aus, sondern byteweise in Variablen. Von dort aus über bitTransfer zu den realen Ausgängen
-
Thread
9-bit SPI mit ATMega?
PCF8833 command byte while ((pSPI->SPI_SR & AT91C_SPI_TXEMPTY) == 0); // wait for the previous transfer to complete command = (command & (~0x0100)); // clear bit 8 - indicates a "command" byte pSPI->SPI_TDR = command; // send the command unsigned int data; // PCF8833 data byte while ((pSPI->SPI_SR & AT91C_SPI_TXEMPTY) == 0); // wait for the previous transfer to complete data = (data | 0x0100); // set bit 8 - indicates a "data" byte pSPI->SPI_TDR = data; // send the command [c] Unsigned Int sind doch 16 Bit oder? Die Zeilen command = ... und data
-
Thread
IDE (ATA) an einen 8Bit Bus verwenden
das Features-Register im IDE-Controller, wenn ich das richtig sehe kann man dort auf 8Bit-Data-Transfer umschalten. Damit würde doch eine einfache 8Bit Anbindung möglich sein ?! oder ... Wie ist das aber dann beim 8Bit-Data-Transfer mit dem "SectorCount" 0-255 der ist doch gedacht 16Bit (Word)
-
Thread
WOK mit Schwierigkeiten
Hy habe jetzt nach langem Testen endlich meine Strecke in Matlab hinbekommen Transfer function: -240 s^3 - 136 s^2 - 22.5 s - 0.5 -------------------------------------- 240 s^4 + 376 s^3 + 159 s^2 + 24 s + 1 Kp=1 Ki=0.61 Kd=0.04 (durch testen) Der Regler funktioniert
WOK hat überhaupt nix mit kausalem oder nicht kausalem Regler zu tun. Für Deine transfer function ist aller wunderbar stabil für alle k's. WOK macht Dir P-Regler, du willst PID!? WOK ist ols school, gibt deutlich besseres Zeug, z.B. Zustandsregler. Gutes tutorial zur WOK bei deutschem
-
Thread
USBASP in AVRISP verwandeln
für den USBASP würde ein MEGA48 genügen. Das Problem an dem virtuellen Comport ist, das der Bulk-Transfer nutzt, der bei LowSpeed eigentlich nicht zulässig ist. Ich hab den AVR-Doper mal eine Zeit lang genutzt, funktioniert so nur direkt am Rechner und nicht über einen Hub. Man möchte aber auch nichts
Projekt "avrcdc": http://www.recursion.jp/avrcdc/ Dort gibt es einen Filtertreiber, mit dem Bulk-Transfer auch über den Hub geht (zummindest unter XP). Das beteutet, man installiert den AVR-Doper mit dem Treiber vom AVR-CDC. Ist aber nicht ganz so stabil wie die klassische Variante, direkt am Rechner.
-
Thread
Timer zählt nicht atmega32
;Interrupt-Vektor T/C-1-Interrupt Das stimmt schon mal nicht. Das ist der 'SPI Transfer Complete Handler'. MfG Spess
Compare Match .equ OVF0addr = 0x0016 ; Timer/Counter0 Overflow .equ SPIaddr = 0x0018 ; Serial Transfer Complete .equ URXCaddr = 0x001a ; USART, Rx Complete .equ UDREaddr = 0x001c ; USART Data Register Empty .equ UTXCaddr = 0x001e ; USART, Tx Complete .equ ADCCaddr = 0x0020 ; ADC Conversion
-
Thread
STM32 DMSA Channel
gleichzeitig geht ist klar, aber kann man es einfach bewerkstelligen dass z.B. gewartet wird bis der eine Transfer fertig ist und dann erst die andere Peripherie anfängt... im Datenbaltt habe ich nichts gesehen dass das möglich machen würde.
alle Requests sammelt und dann sequentiell abarbeitet. Man müsste ja erkennen können was für ein transfer z.B. gerade fertig geworden ist (ok, könnte über Memory adresse gehen) damit man den richtigen Task benachrichtigt. Mittels semaphor könnte man verhindern dass ein andere Task den DMA benützt... ok
-
Thread
USI SPI bei ATtiny 25 o.a.
// sts USISR,r16 // TransferLoop: USICR |= (1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC); // ldi r16,(1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC) // sts USICR,r16 while
/The Counter Overflow (interrupt) Flag, or USIOIF, can therefore //be used to determine when a transfer is completed } [/code] Frage: Welche IRQ-Routine-Vektor kann ich den für den USIOIE benutzen? Bzw. (ich kann es auch falsch verstehen!) wird dieser IRQ für das interne USI benutzt um den Counter
-
Thread
uart funktioniert nur mit angeschlossenem ISP Programmer
; // Enable Transmitter UCSR0C|=(1 << UCSZ01)|(1 << UCSZ00); // 8-Bit Data Transfer x=UDR0; } void send_char(unsigned char zeichen){ while( !(UCSR0A & (1 << UDRE0))); // wait until Transmission Line is free UDR0=zeichen; // set Data to transfer into Buffer } unsigned char receive_char(){ while ( !(UCSR0A & (1 << RXC0)) ); // Wait for data to be received return UDR0; // Get and return received data from
-
Thread
STM32F2 ADC Continous Scan mit DMA, Softwareproblem
ADC1, ADC_Channel_TempSensor, 3, ADC_SampleTime_3Cycles); /*!< Enable DMA request after last transfer (Single-ADC mode) */ ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE); /*!< Enable ADC1 DMA */ ADC_DMACmd(ADC1, ENABLE); /*!< Enable ADC1 */ ADC_Cmd(ADC1, ENABLE); /*!< Start
-
Thread
Prüfungsfragen
werden? Betrachten Sie dazu den Typ NM24Wxx der Firma Fairchild. 1b.) Wie lange dauert demnach der Transfer eines Speicherbereichs von 2k-Bit in diesen Baustein? Aufgabe 2 Betrachten Sie einen RAMblock, aufgebaut mit dyn. Speicher des Typs MSK4164. 2a.) Wie kann man aus diesem Baustein mit der höchsten
des I²C-Transfers für das Schreibkommando bis zu dem Punkt, an dem du frühestens den nächsten Transfer starten darfst. Der typische Wert ist dabei für'n Pops, da du extern keine Möglichkeit hast rauszufinden, ob der Schreibvorgang fertig ist. Du musst also zwangsweise 15 ms warten, denn nur dann
-
Thread
AVR32: USART Empfangproblem mit DMA/PDCA
Zieladresse PDCA_USART1_OPTIONS_RX.size = (unsigned int)tmp_UDR-2; PDCA_USART1_OPTIONS_RX.transfer_size = PDCA_TRANSFER_SIZE_BYTE; PDCA_USART1_OPTIONS_RX.r_addr = 0; //ungenutzt PDCA_USART1_OPTIONS_RX.r_size = 0; //ungenutzt pdca_init_channel(1,&PDCA_USART1_OPTIONS_RX); //mit DMA Transfer beginnen pdca_enable(1); pdca_enable_interrupt_transfer_complete(1); } [/c] Bei Transferende wieder auf Interrupt-Behandlung wechseln: [c] __attribute__((_
-
Thread
Problem mit Laserdrucker bei Tonertransfer auf Silikonpapier - Alternativer Drucker gesucht
werden und sich das Papier so mühelos abziehen lässt, daß es ganz bequem zu arbeiten geht. Der Transfer an sich und das Atzen laufen erstaunlich gut. Heute habe ich ein etwas größeres Layout ausgedruckt, und jetzt gibt es Probleme. Irgend eine Walze im Drucker schleift am Papier entlang und zieht
Naja, man braucht halt danach keinen Transfer mehr zu machen, man tauscht das eine gegen das andere ein.
-
Thread
2s Complement nach fixed point
Octave-Modell oder auf Basis intbv-Fixpunkt-Arithmetik) schrittweise oder sonst induktiv im V*-HDL-Transfer verifizieren. Leider gibt's bei MyHDL einige harte Grenzen, die von anderen Python-Generatorenkonzepten (n/migen) theoretisch einfacher zu handhaben waeren. Leider musste ich den dritten Weg gehen
extra alles durch Modelsim spulen zu muessen. Bei ersten Experimenten habe ich schlicht den V*-Transfer uebersprungen und die direkt synthetisierte RTL auf Primitiven-Level mit Hilfe der yosys-Tools verifiziert.
-
Thread
FPGA evalboard mit 200 GPIOs
idle state Da wird eine unübersichtliche FSM mit der zwei Prozess-Methode verwendet. > out_transfer_proc : process ( clk_i, do_transfer_reg, di_req_reg, > do_valid_A, do_valid_B, do_valid_D, > di_req_o_A, di_req_o_B, di_req_o_D
-
Thread
Robust Proximity Sensor - Theoretical Challenge (IP Transfer) - $25,000 Award
Da wird ein robuster billiger Annäherungssensor gesucht: https://openinnovation.bauma.de/competition.php?competition=91&category=bauma&bid=BMS_2017_V_EML_OI_02_DE_Email2&etcc_med=email&bkn=central_email#The%20Challenge
-
Thread
Attin84 I2C mit der USI läuft nicht
&= ~(1<<PIN_USI_SDA); // Enable SDA as input. *(msg++) = USI_TWI_Master_Transfer( tempUSISR_8bit ); /* Prepare to generate ACK (or NACK in case of End Of Transmission) */ if( msgSize == 1) // If transmission of last byte was performed
// Load ACK. Set data register bit 7 (output for SDA) low. } USI_TWI_Master_Transfer( tempUSISR_1bit ); // Generate ACK/NACK. } }while( --msgSize) ; // Until all data sent/received. if (!USI_TWI_Master_Stop()) { return (FALSE);
-
Thread
Full speed USB mit mikrocontroller
Aus dem Datenblatt des 32U4: • USB 2.0 Full-speed/Low Speed Device Module with Interrupt on Transfer Completion – Complies fully with Universal Serial Bus Specification Rev 2.0 – Supports data transfer rates up to 12 Mbit/s and 1.5 Mbit/s – Endpoint 0 for Control Transfers: up to 64-bytes – 6
-
Thread
Weiterhin Probleme mit CAN auf LPC11C22
haben. Für weitere Hilfe wäre der komplette Code interessant. Für mich sieht es so aus, als ob der Transfer läuft und du die kurzen Telegramme von vielleicht 200µs Länge nicht siehst.
ausschließen, oder? temp schrieb im Beitrag #4049461: > Für mich sieht es so aus, als ob der Transfer läuft und du die kurzen > Telegramme von vielleicht 200µs Länge nicht siehst. Das wird es wohl gewesen sein. temp schrieb im Beitrag #4049461: > Hast du mal nachgesehen ob der > error-Callback
-
Thread
fotobeschichtete Platinen Drucken
auf die Platine zu bekommen... Vorweg ich habe einen Canon PIXMA MP490 Drucker. 1. Toner Transfer Methode Und 2. Foto Platinen Fragen: zu 1. Was wäre besser: Layout spiegelverkehrt auf Butterbrotpapier oder Conrad Katalog Seite ausdrucken.(Gibt es noch andere möglichkeiten) zu 2.
Hallo, laut Google Treffer handelt es sich um einen Tintenstrahldrucker, also ist -> Toner <- transfer logischer Weise nicht möglich. Wenn du aber mal einen Laserdrucker (arbeitet mit Toner) benutzen solltest ist trotzdem eine generelle Aussage nicht möglich, das hängt nämlich vom Toner (Hersteller
-
Thread
Daten im XRAM ablegen 8051
Hallo Ralf, ich benutze als Basis für USB die Bulk Transfer Implementierung. Also keinen VCP. Hostseitig wird der Treiber generisch mittels WinUsb erzeugt, sodass man dort die Standard WinUsb Funktionen nutzen kann. Die HID Klasse benutze ich jedoch nicht.
> ich benutze als Basis für USB die Bulk Transfer Implementierung. Also das Beispiel direkt von SiLabs? > Hostseitig wird der Treiber generisch mittels WinUsb > erzeugt, sodass man dort die Standard WinUsb Funktionen nutzen kann. Hört sich
-
Thread
dsPIC "intelligenter" DMA?
wird die CPU dafür für einige Takte angehalten, mal ist abwechselnd CPU u DMA aktiv, mal geht der Transfer 'spurlos' (ggfs über DPRAM) an der CPU vorbei. Je leistungsfähiger der Transfer desto aufwändiger und teurer der uC. WAS das für Daten sind, ist dem DMA-Controller egal.