-
Thread
USB VUSB Viruel COM Port
Datenmengen gering sind und in die Beschränkungen passen, die der zugrunde liegende "Interrupt-Transfer" ihnen auferlegt. Für größere Datenmengen braucht man aber andere Transfertypen, z.B. den "Bulk-Transfer", den halt auch USB-CDC benutzt. Das Blöde ist halt nur: Bulk-Transfers sind nicht allen
-
Thread
Parallele Schnittstelle zwischen zwei FPGAs implementieren
100Mbps, die du anstrebst. Wenn du es parallel implementieren willst: du verschenkst bei jedem Transfer die Hälfte der Bits. Nutze halb so viel Leitungen und transportiere nicht so viele X ;-) Außerdem sehe ich keinen Takt, der den Datentransfer synchronisiert. Woher weiß denn das rechte FPGA, wann
im Beitrag #4147186: > Wenn du es parallel implementieren willst: du verschenkst bei jedem > Transfer die Hälfte der Bits. Ja das stimmt. Es könnte evtl. eine weitere Möglichkeit bestehen, in dem ich das Strobe-Signal über eine separate Leitung führe. Dann könnte man pro Strobe 16 Bit Nutzdaten
-
Thread
VDSL2 Uplink instabil
Keller weil die Quittungen ja irgendwie in den Upstream mit rein müssen. Mehr als 90% sollte ein Transfer den upstream nie auslasten, daß muß im Notfall das sendende Programm oder eine geeignete QoS-Software machen. PS: das war ein Dauerproblem als P2P aufkam und DSL noch 768/128kBit hatte... Bei
weil die Quittungen ja irgendwie in den Upstream mit rein > müssen. > Mehr als 90% sollte ein Transfer den upstream nie auslasten, daß muß im > Notfall das sendende Programm oder eine geeignete QoS-Software machen. > > PS: das war ein Dauerproblem als P2P aufkam und DSL noch 768/128kBit > hatte
-
Thread
Sprung zum falschen Interrupt?
Handler reti ; Timer1 Overflow Handler rjmp T0overflow ; Timer0 Overflow Handler reti ; SPI Transfer Complete Handler reti ; USART RX Complete Handler reti ; UDR Empty Handler reti ; USART TX Complete Handler reti ; ADC Conversion Complete Handler reti ; EEPROM Ready Handler reti
jmp falsch ; Timer0 Overflow Handler jmp falsch ; SPI Transfer Complete Handler jmp falsch ; USART RX Complete Handler jmp falsch ; UDR Empty Handler jmp falsch ; USART TX Complete Handler
-
Thread
Unifi Nanostation loco M5 spinnt (un)regelmäßig
relativ konstanten 100MBit (durch das LAN-Interface ja begrenzt, gehen aber auch etwas mehr im Duplex-Transfer).
konstanten 100MBit (durch das LAN-Interface ja begrenzt, gehen > aber auch etwas mehr im Duplex-Transfer). Ich kenne und schätze die Dinger ja auch. Um so ärgerlicher jetzt die Mucken ... Idee?
-
Thread
Messwerte per RS232 übertragen
einstellst, hast du immer 50 Werte bzw. 100 Byte Nutzdaten. Wenn du ASCII überträgst, kannst du den Transfer einleiten, wenn eine Änderung eintritt. Ich weiß nicht, wie dynamisch deine Werte sind, aberes ist alles eine Frage der Anwendung. Natürlich sind 100 Byte weniger wie 250, aberes kann genau so sein
dann mehrere Packete verschickt. Benutzt du nun ein Gerät mit einer Packetlänge von 32-Byte zum Transfer von 33-Byte, werden zwei Packete geschnürt. Im ersten Packet liegen 32-Datenbyte, im zweiten Packet liegt 1-Datenbyte und 31-Füllbytes. Ob dies bei CDC auch so ist, habe ich nicht überprüft, gehe
-
Thread
Suche Pulse Train oder Pulse Pattern Generator
Andere Möglichkeit: PIC32 (oder STM oder oder oder) über 32Bit SPI Transfer raus mit 40MHz. Pro Puls 15kByte. 128k hat z.B. Pic32MX370. Wäre zumindest recht einfach. Es gibt auch die MZ Typen mit 512kByte Ram.
schrieb im Beitrag #3736307: > Andere Möglichkeit: PIC32 (oder STM oder oder oder) über 32Bit SPI > Transfer raus mit 40MHz. Pro Puls 15kByte. 128k hat z.B. Pic32MX370. > Wäre zumindest recht einfach. Es gibt auch die MZ Typen mit 512kByte > Ram. 15*15kByte = 225kByte > 128kByte. Auch hier könnte man
-
Thread
DMA am AVR
in einem AVR-System werden ja z.B. über SPI angeschlossen, wobei der Prozessor die Arbeit beim Transfer erledigt. Gibt es Bausteine die auch DMA beherrschen, also direkt in den (externen) Speicher schreiben können?
Wenn das Programm die volle Kontrolle über den Transfer hat, dann ist die Version im Link sinnvoll. Liefert das Device seine Daten jedoch kontinuierlich oder ereignisgesteuert unregelmässig ab, dann taugt das weniger. Wär also nützlich zu wissen, was
-
Thread
senden mir SPI
Ich habe mal SPI.transfer() gemacht. Das hat funktioniert. Ach ja, was machen die Clock und Slave-Select Leitungen? Auch nur Rauschen? Vielleicht sind die gar nicht angeschlossen, denn die Leitungen sollten ja einen definierten
4DGL-Internal-Functions-REV6-2 Schön. Damit ist klar wer der Empfänger ist. Aber wer ist der Sender? Beim SPI Transfer ist ja der µC der aktive Part. Wenn da was nicht funktioniert muss man daher beim µC zu suchen anfangen. Wer am anderen Ende der Leitung sitzt, ist hingegen eher uninteressant. Dein µC sendet nicht
-
Thread
Frage zu ATTiny20 und TPI mit mkII
endpoint 130 failed: HC status: The host controller has set the Transaction Error (XactErr) bit in the transfer descriptor's status field (0xc0000011)., ModuleName: TCF (TCF command: Device:startSession failed.) dann bin ich mir da nich sicher ...
failed: HC status: The > host controller has set the Transaction Error (XactErr) bit in the > transfer descriptor's status field (0xc0000011)., ModuleName: TCF (TCF > command: Device:startSession failed.) > > dann bin ich mir da nich sicher ... Zur Info: Ich hatte noch bei AVR Studio 5 das Problem
-
Thread
Variabler Pulsgenerator, CPLD oder FPGA
ziemlich viel Arbeit! Klar. Der hat aber sonst nicht viel zu tun. Bottleneck ist jedoch eher der USB Transfer. Schaff aber mit dem FT245R locker 400 kbyte/s. Werd mir jetzt erstmal webpack anschaun. gruß christian
viel Arbeit! >Klar. Der hat aber sonst nicht viel zu tun. Bottleneck ist jedoch eher >der USB Transfer. Schaff aber mit dem FT245R locker 400 kbyte/s. Na wenn das so ist, kannst du gleich die ADC-Ansteurung mit in den CPLD packen. Dann ist das ne runde Sache. MFg Falk
-
Thread
USB mit AT91? Effizient !
wissen, glaube ich , ob Du bei UART bleibst oder nicht. Es gibt so zu sagen verschiedene Modi (Transfer Types), Du musst dich fuer einen entscheiden. Dann gibt Standard-Device Classes (da kannst Du Transfer Types nicht waehlen, dafuer gibt es Treiber, die Du nicht mehr schreiben musst.) Dann gibt es
-
Thread
ATTiny2313 - USI - USISR lässt sich nicht setzten
Schieberegister und // den 4bit Timer. Der Takt wird am USCK-Pin (PA4) ausgegeben. } void SPI_transfer(int data) { USIDR = data; //Daten in Data Register laden USISR = (1<<USIOIF); //Überlaufflag löschen while (!(USISR & (1<<USIOIF))) //solange kein Timerüberlauf... { USICR |= (
USICR |= (1<<USITC); } } int main (void) { SPI_init(); while(1) { SPI_transfer(0x41); // Daten (A) senden PORTA |= (1<<PD5); // Led on _delay_ms(100); PORTA &= !(1<<PD5); // Led off _delay_ms(100); } } Hat jemand eine Idee wo der Fehler sein
-
Thread
Probleme mit SPI bei AVR-µC
Und auch hier hatte Joe schon angemerkt, dass im Slave das Laden von SPDR natürlich *vor* dem Transfer stattfinden muss, also [c] SPDR= probe[i]; while ((SPSR & (1 << SPIF))==0); data_in= SPDR; [/c]
>Und auch hier hatte Joe schon angemerkt, dass im Slave das Laden von >SPDR natürlich vor dem Transfer stattfinden muss, also ... Das ist natürlich richtig. Wenn es aber nur das wäre, dann hätte der Master ja folgendes protokollieren müssen: ,x,1,3,7,15 ,31,1,3,7,15 ,31,1,3,7,15 usw.
-
Thread
STM32F4: SPI TX DMA (ohne HAL) Problem
schreibe. Aber der DMA deaktiviert sich nach dem aktivieren sofort wieder und setzt im LISR einen Transfer Error (TEIF) und Fifo Error (FEIF) für Stream 3. Dabei ist der DMA FIFO garnicht aktiviert (DMDIS im S3FCR ist 0). Irgendeine Idee? Ja ich weiß, CubeMX und HAL (_LL) existieren, aber eigentlich
DMA_LIFCR_CTCIF3_Msk [/c] Habe inzwischen wohl die Ursache für mein Problem, den DMA Transfer-bzw. Bus-Error gefunden: "CCM (core coupled memory) mapped at address 0x1000 0000 and accessible only by the CPU through the D-bus." In der Tat liegen meine (DMA-) Daten in diesem Bereich. Ich
-
Thread
Daten und CRC in Einklang bringen
folgendes zur CRC an: • This CRC is according to the J1850 Bus Specification. • Every new transfer restarts the CRC generation. • Every Byte of a transfer will be taken into account to generate the CRC (also the sent command(s)). • Generator polynomial: X8+X4+X3+X2+1, but for the CRC generation
-
Thread
STM32 und SPI - DMA Handling
Hallo Markus, ich habe das "DMA1 Channel2 transfer complete flag" mit eingebaut und es ist scheinbar Besserung in Sicht! Am Montag werde ich es nochmal genauer unter die Lupe nehmen ;-)
Wenn man mit SPI per DMA arbeitet, dann muss man darauf achten, dass der Transfer erst beendet ist, wenn das letzte Byte/Wort davon /empfangen/ wurde. Wenn man CS deaktiviert sobald Tx-DMA durch ist, dann hat man verloren, weil noch Daten im SPI Puffer sein können. NB: Das bedeutet
-
Thread
USB-Oszi:Wie kommen die riesigen Datenmengen auf den PC?
Scope-Speicher schneller voll ist als der USB die Daten übertragen kann. Dann findet ein verzögerter Transfer zum PC statt. Wenn der Hersteller hier einen Ringpuffer des internen Scope-Speichers implementiert hat, dann sollte theoretisch nur wenig verloren gehen, da bereits vom USB übertragenen Samples freien
Spätestens, wenn der schreibende Pufferindexzeiger den lesenden erreicht, muss auf den nächsten USB-Transfer gewartet werden. Wenn genau an dieser Stelle dein Fall des Fehleranteils im Signal auftritt und dieser so kurz ist, dass er nur von wenigen Samples erfasst werden kann, sollte der Signalverlust da
-
Thread
FSM mit ADC synchronisieren
danach zwischen den anderen hin und her gewechselt wird. Der z2 wird erst dann erreicht wenn SPI Transfer beendet wird. Wie kann ich am besten das Problem in den Griff bekommen damit bei jeder steigender Flanke des Signal ADC_CLK die FSM den Spi Transfer einleitet? MFG derNeugierige PS: der
Problem in den Griff bekommen damit bei jeder > steigender Flanke des Signal ADC_CLK die FSM den Spi Transfer einleitet? Du ermittelst die steigende Flanke dieses "Taktes" und setzt daraufhin /TX_Start/.
-
Thread
STm32F0 und 1Mbit I2C EEprom
uint32_t data_num = 0; //Configure slave address, nbytes, reload and generate start I2C_TransferHandling(I2C_EE, m_ee_address, 1, I2C_Reload_Mode, I2C_Generate_Start_Write); //Wait until TXIS flag is set m_ee_timeout = EE_LONG_TIMEOUT; while(I2C_GetFlagStatus(I2C_EE, I2C_ISR_TXIS
m_ee_address = deviceSelect; //Configure slave address, nbytes, reload and generate start I2C_TransferHandling(I2C_EE, m_ee_address, 1, I2C_Reload_Mode, I2C_Generate_Start_Write); //Wait until TXIS flag is set m_ee_timeout = EE_LONG_TIMEOUT; while(I2C_GetFlagStatus(I2C_EE, I2C_ISR_TXIS
-
Thread
PIC32MX I2C Problem
= TRUE; UINT8 i2cbyte[5]; BYTE ix; if( !StartTransfer(FALSE) ) { while(1); } I2C_FORMAT_7_BIT_ADDRESS(SlaveAddress, 0x68, I2C_READ); i2cData[0] = SlaveAddress.byte; TransmitOneByte(i2cData[0]); if(!I2CByteWasAcknowledged
DelayMs(10); } DelayMs(10); } } StopTransfer(); [/c] So ganz verstehe ich auch nicht die Reihenfolge hier: [c] // Warten bis ein Byte da ist? und wer schaltet dann die clock Leitung? // oder wird hier einfach mal auf glueck
-
Thread
SPI vom USART1 nutzen, Probleme durch USART0?
must be set after the transmitter is enabled */ UBRR1 = 6; } unsigned char SPI2_MasterTransfer (unsigned char c1,unsigned char c2) { while (!(UCSR1A & (1<<UDRE1))); UCSR1A |= (1 << TXC1); UDR1 = c1; UDR1 = c2; //while (!(UCSR1A & (1<<RXC1))); return UDR1; } //Aufruf ReData = SPI_Transfer(110,110); [/c] Vielen Dank Achja, ich habe dies schon in einem alten Thread schon ähnlich behandelt, aber ohne Lösung (http://www.mikrocontroller.net/topic/223486#2243219) Nun aber die
-
Thread
USB Signal testen mit Multimeter
5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint
5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 32 Device
-
Thread
SD card: STOP_TRANSMISSION beim MULTIPLE BLOCK WRITE
Force First word after Enabling SPI DMA0REQbits.FORCE = 1; // wait until the first transfer is finished while(DMA0CONbits.CHEN == 1); _LATA1 = 0; asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); asm volatile
(SectorsToWrite); } //end SectorMultiWrite [/c] In der ersten for-Schleife starte in den DMA-Transfer für SPI. Ich schicke 1 + 512 + 2 Bytes, wobei das erste Byte DATA_START_MULTIBLOCK_TOKEN ist, gefolgt von 512 Bytes Daten und 2 Bytes Pseudo-CRC. Danach wird DMA deaktiviert, damit ich SPI wieder
-
Thread
16 Bit SPI senden
mcp_4921.h" #include <avr/io.h> #include <avr/interrupt.h> ISR(SPI_STC_vect) /* SPI Transfer Complete Handler */ { switch(spi_status) { case 1: /* 1. Byte wurde gesendet */ SPDR = lower_byte; // Sende 2. Byte spi_status = 2; // Status: 2. Byte wird
Gucke Dir den SPI-Transfer mal mit dem Oszilloskop und vergleiche die beiden Varianten. Was ist anderst? Das sicher bei der Fehlersuche...
-
Thread
OV9655 Kamera hat nur Blautöne
sollte im double-buffer-mode laufen, damit das Bild "kontinierlich" eingelesen werden kann. Beim transfer complete interrupt wird nicht immer der Buffer sofort gewechselt. Eignetlich sollte am Anfang der Buffer0 gefüllt werden. Dann nach dem TCI Buffer1 und die Addresse von Buffer0 so erhöht werden
or multiply accesses in case of memories access. Workarounds : Avoid concurrent AHB and APB2 transfer using DMA2. One of the following approach could be used to solve the issue: If DMA2 is used to manage AHB peripheral (DCMI, CRYPT, HASH), we can use the Cortex-M CPU to manage APB2 peripherals
-
Thread
GPDMA mit SPI auf LPC1787
GPDMA_Channel_CFG_Type dma_config; dma_config.ChannelNum = GPDMA_CONN_SSP1_Tx; dma_config.TransferSize = 1; dma_config.TransferWidth = 0; dma_config.SrcMemAddr = (uint32_t)&buffer[0]; dma_config.DstMemAddr = 0; dma_config.TransferType = GPDMA_TRANSFERTYPE_M2P; dma_config.SrcConn
-
Thread
Kurze Frage zu Grafikkartenspeicher.
muß der Prozessor nur Anfang und Ende eines Speicherbereichs dem DMA Controller mitteilen. Der Transfer erfolgt rein hardwaremäßig und das recht flott ohne den Prozessor zu belasten.
Prozessor nur Anfang > und Ende eines Speicherbereichs dem DMA Controller mitteilen. Der > Transfer erfolgt rein hardwaremäßig und das recht flott ohne den > Prozessor zu belasten. Du meinst den grafikprozessoer?
-
Thread
Lacher der Woche Ingenieur-Mangel in Deutschland eskaliert trotz Wirtschaftskrise Gesperrt
Sie sehen das nicht richtig. Durch die globale Zusammenarbeit und durch Know-How-Transfer können unsere Firmen in neue Markte hineinwachsen und neue Umsatzgrößen entwickeln.
Ich kann Gast beipflichten... Aber, Know-how-transfer gibt es nur zwischen kooperierenden Mitarbeitern. Die beruehmten Synergien, die dann ploetzlich verschwunden sind, wenn die Leute nicht mehr wollen. Es gibt immer noch Vorgesetzte, die glauben wenn
-
Thread
Raspberry Pi kommuniziert mit ATtiny2313 über SPI
; int i, j; for(i = 0; i < 50; i++) { if(data == '5') { bcm2835_spi_transfer(data); data = '6'; printf("5 sended...\n"); } else { bcm2835_spi_transfer(data); data = '5'; printf("6 sended...\n"); } // Wait before sending the next
-
Thread
TWI hängt sich auf CLK Puls geht unter
SlaveAdresse,SlaveInternAdresse,Datenbyteanzahl,Byte1,Byte2) über die Funktion Twi_Tx_TriggerNextTransfer(). Danach ist der Handler dran. [c] void Twi_Tx_TriggerNextTransfer(Twi *p_twi){ uint8_t buffer_out = 0; gl_twi0_state = TWI0TX_BUSY; /* Set write mode, slave address and 3 internal
-
Thread
Autokauf und Bargeldobergrenze
https://www.europeanpaymentscouncil.eu/sites/default/files/participants_export/sepa_instant_credit_transfer/sepa_instant_credit_transfer.pdf Achte auch auf Dein Überweisungslimit, das musst Du evtl. rechtzeitig vorher hochsetzen lassen.
-
Thread
S-Function für mehrere Temperaturfühler
// delay 62.5ns on a 16MHz AtMega, 100ns erforderlich NOP; byte MSB = SPI.transfer(0); // höherwertiges Byte einlesen, D15 ... D8 byte LSB = SPI.transfer(0); // niederwertiges Byte einlesen, D7 ... D0 digitalWrite(CS, HIGH); KTemp
-
Thread
STM32F103 ADC und DMA Verständnisfrage
> freigegeben." Ja, etwas lässig beschrieben. Jedes Ende einer Wandlung stößt einen DMA-Transfer an. Verloren gehen wird da nichts, da sind ja keine eventuell gesperrten Interrupts im Spiel. Und das Ende eines Durchlaufs wird von der DMA signalisiert. Welche Kanäle in welcher Reihenfolge gewandelt
Carl D. schrieb im Beitrag #6174589: > Jedes Ende einer Wandlung stößt einen DMA-Transfer an. Verloren gehen > wird da nichts, da sind ja keine eventuell gesperrten Interrupts im > Spiel. dieses Anstoßen eines DMA Transfers macht der ADC wenn ich also in dessen CR2 das DMA Bit auf
-
Thread
Sinusfilter für abgetastetes Signal
Du könntest auch einfach in Simulink einen "Transfer Fcn" Block oder einen "Discrete Transfer Fcn" Block verwenden. Dann musst du nicht den Umweg über Simscape machen. Du könntest aber auch einfach in Matlab die Funktion "filter" verwenden. Die
-
Thread
Zeigt her Eure Kunstwerke! Gesperrt Bilder
nix dolles, hat mich aber einiges an Nerven gekostet. Die Platine habe ich mit der Direkt-Toner-Transfer-Methode gemacht und die Leiterbahnen waren doch arg dünn. Aber hey, es funktioniert. Achja, es ist im Prinzip n normaler USB-Seriell-Adapter mit wählbarem TTL Pegel von 5Volt oder 3,3Volt und 2x
Improvisation mit anderem Spannungsregler und ein paar SMD Komponenten. Wieder in spontaner Direkt-Toner-Transfer-Methode verwirklicht. Jens
-
Thread
STM32F4 falsche DMA-Werte zu Beginn des Transfers
den Daten-Clock-Pin gekoppelt ist, um die Anzahl der eingelesenen Werte hochzuzählen und den DMA-Transfer immer bei einer steigenden Clock-Flanke auszulösen. Könnte es sein, dass dieser Timer den Transfer der ersten paar DMA-Werte behindert? Ich stecke nicht tief genug in der Thematik drin um das beurteilen
DMA_SxFCR register is ‘0’), the threshold level of the FIFO is not used: after each single data transfer from the peripheral to the FIFO, the corresponding data are immediately drained and stored into the destination." Im Reference Manual RM0090 sind in Kapitel 10.3.10 mehr Hinweise. Gruß Stefan
-
Thread
DMA allgemeine Fragen
architecture eliminates the need for cycle stealing, which halts the CPU when a higher priority DMA transfer is requested." Mehr Info über's DMA gibts im "dsPIC33E/PIC24E Family Reference Manual", Section 22, "Direct Memory Access (DMA)" Gruß, N.
DMA ist nicht kostenlos. Ein Transfer blockiert u.U. kurz die CPU, um Zugriff auf das RAM zu erhalten. Es gibt IO-Module mit besonders hohen Tranferraten, bei denen dies signifikant sein kann, wie etwa Ethernet oder Highspeed-USB.
-
Thread
Frage zu Funktionszeiger und dessen Verwendung
more than one byte to read { TWCR=(1<<TWINT)|(1<<TWEA)|(1<<TWEN); // then start transfer with acknowledge while (!(TWCR & (1<<TWINT))); // wait for response val[i++]=TWDR; // read databyte from TWDR } TWCR=(1<<TWINT)|(1<<TWEN); // start last byte transfer without acknowledge while (!(TWCR & (1<<TWINT))); // wait for response val[i]=TWDR; // read databyte from TWDR } else { printf_P
-
Thread
Usart Rx mit DMA
request */ USART_DMACmd(USART3, USART_DMAReq_Rx, ENABLE); /* Enable DMA Stream Half Transfer and Transfer Complete interrupt */ DMA_ITConfig(DMA1_Channel1, DMA_IT_TC, ENABLE); DMA_ITConfig(DMA1_Channel1, DMA_IT_HT, ENABLE); DMA_Cmd(DMA1_Channel1, ENABLE); /* Enable the
-
Thread
Parallelport im EPP-Modus
die Daten kontinuierlich eingelesen werden, da ich ja keinen Buffer habe, der kurze Stockungen im Transfer auffangen könnte. Afaik hat der EPP-Modus im Gegensatz zu ECP keine Möglichkeit, den Fifo des Parallelport zu verwenden, habe ich das richtig verstanden? (Quelle: http://www.beyondlogic.org/epp/
Daten kontinuierlich eingelesen werden, da ich ja keinen Buffer habe, der kurze Stockungen im Transfer auffangen könnte." Das hängt ganz stark davon ab, ob und was für ein Betriebssystem auf Deinem PC läuft. Bei 125 kByte/sec liegen zwischen zwei Bytes gerade mal 8 µsec - einen kontinuierlichen
-
Thread
SPI mit STM32
//while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE)==RESET); /* terminate spi data transfer */ //SPI_SSOutputCmd(SPI2, DISABLE); GPIO_WriteBit(GPIOB, GPIO_Pin_12, 1); return data_byte; } void test_fram(void) { unsigned char i; fram_spi_write_byte(0, 0x01
//while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE)==RESET); /* terminate spi data transfer */ GPIO_WriteBit(GPIOB, GPIO_Pin_12, 1); CS wieder hochziehen bevor das Byte raus ist, ist keine gute Idee.
-
Thread
Timer und Interrupt
onTimer1Ov ; 9 Timer1 Interrupt bei Überlauf reti ;10 TC0 Overflow reti ;11 SPI, STC Serial Transfer Complete reti ;12 UART Rx Complete reti ;13 UART Data Register Empty reti ;14 UART Tx Complete reti ;15 ADC Conversion Complete reti ;16 EEPROM Ready reti ;17 Analog
reti ; 9 TC1 Overflow reti ;10 TC0 Overflow reti ;11 SPI, STC Serial Transfer Complete reti ;12 UART Rx Complete reti ;13 UART Data Register Empty reti ;14 UART Tx Complete reti ;15 ADC Conversion Complete reti ;16 EEPROM Ready
-
Thread
DDR4-3200 Interner Datenbus zwischen Speicherchip und IO
was man als "einen Arbeitstakt" zusammenfassen könnte. Sprich man adressiert einmal, startet den Transfer und bekommt 8 Bit geliefert - wobei sich "ein Bit" auf die gesamte Busbreite (64 Bit) bezieht. Dabei ist ein DDR4-Modul in mehrere kleinere Bereiche unterteilt, die zu verschiedenen Zeiten aktiv
Ben B. schrieb im Beitrag #6450679: > startet den Transfer und bekommt 8 Bit > geliefert - wobei sich "ein Bit" auf die gesamte Busbreite (64 Bit) > bezieht. Heißt das, dass jede Taktflanke 64 Bit liefert. Das würde bedeuten der interne Speicherbus ist
-
Thread
RAM mit der höchsten Datenrate je IO.
steht gleich auf der ersten Seite des Datenblatts: Data Rate = 1866MT/s MT steht für "Mega-Transfer". Also 1866 Mbit/s pro IO. 1866MByte/s pro Baustein mit 8 IOs. Aber wenn dir die Pins am FPGA ausgehen: hast du dann noch die rund 20 Pins übrig, die du für Commands und Adressen des Bausteins
> steht gleich auf der ersten Seite des Datenblatts: Data Rate = 1866MT/s > MT steht für "Mega-Transfer". Also 1866 Mbit/s pro IO. 1866MByte/s pro > Baustein mit 8 IOs. Nein, der hat deutlich mehr als 8 IOs. Wenn der nur 8 IOs hätte könnte ich davon 5 Stück an eine Bank anschließen. Hier kann ich
-
Thread
Wann muss die Spannung ganz genau stimmen?
apriori auf den Druck schließen. Somit hätte ich gedacht, dass hier auch nur wieder ein stabiler Transfer notwendig ist aber die absolute Spannung keine Rolle spielt. Bei der Temperatur ähnlich, wobei einige Sensoren da ja schon sehr genau an elektrischen Größen spezifiziert sind.
schrieb im Beitrag #4588769: > Somit hätte ich gedacht, > dass hier auch nur wieder ein stabiler Transfer notwendig ist aber die > absolute Spannung keine Rolle spielt. Doch, Thermoelemente und Pirani liefern absolute Spannungen. Jede Schwankung der Vergleichreferenz wirkt also direkt auf den Messwert
-
Thread
SPI - Buffer verändern - per Soft SPI
ein frage hätte ich noch: wie kann man am sinnvollsten feststellen, ob der serielle transfer im z.b. AVR2 durch ist? Also AVR2 muss es selber wissen, damit die daten bearbeitet werden können. Schauen ob PB2 (SS) auf high ist? Kann man das per interrupt auch rausfinden? also, mein transfer
-
Thread
Erstaunliche Folien für Layouts
Erfahrungen nicht aber ich war auch am Überlegen für Toner Transfer aber in der Bewertung sind oft schlechte weil die sich im Laser Drucker verwickelt haben.
Hallo Noy, soweit ich weiß, ist Folie für die Toner-Transfer-Methode sowieso nicht geeignet. Es wird doch immer von Katalogpapier geredet. Des Weiteren bat ich ja um Ink-Jet-Erfahrungen. Aber dein Hinweis auf die schlechten Bewertungen bzgl. Laser zeigt
-
Thread
Layoutprogramm mit "Auto-Bestückungsdruck"
Hallo zusammen ich habe am WE meine erste (Test-)Platine mit dem Toner-Transfer verfahren erstellt und das ging sehr gut (bis 0,15mm sind die Linien ultrascharf und zwar sehr zuverlässig, daunter wirds ein bisschen Glückssache, liegt aber am Drucker). Als Papier verwende ich
Schalplan einfach in ein Board verwandeln können 2.) Der Ausdruck des Programmes muss Toner-Transfer-Methode geeignet sein 3.) Was ich mich sehr wünsche ist eine Auto-Bestückungsdruck Funktion, also eine Funktion die mir automatisch noch die andere Seite der Platine, halt die mit den Beschriftungen
-
Thread
Messung von i2c am Oszilloskop
. Es sei denn man hat keinen Dunst wie man das Ding bedient, oder will unbedingt den kompletten Transfer von 1KB EEPROM Daten verfolgen. Oder damit bestehenden Transfer belauschen und dekodieren. Dann allerdings ist man mit einem LA besser bedient.