Embassy
stm32-metapac

Crates

git

Versions

stm32h563vg

Flavors

Struct stm32_metapac::fmc::regs::Sdtr

#[repr(transparent)]
pub struct Sdtr(pub u32);
Expand description

SDRAM timing registers 1.

Tuple Fields§

§0: u32

Implementations§

§

impl Sdtr

pub const fn tmrd(&self) -> u8

Load Mode Register to Active These bits define the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles. ….

pub fn set_tmrd(&mut self, val: u8)

Load Mode Register to Active These bits define the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles. ….

pub const fn txsr(&self) -> u8

Exit Self-refresh delay These bits define the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. …. Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TXSR timing corresponding to the slowest SDRAM device.

pub fn set_txsr(&mut self, val: u8)

Exit Self-refresh delay These bits define the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. …. Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TXSR timing corresponding to the slowest SDRAM device.

pub const fn tras(&self) -> u8

Self refresh time These bits define the minimum Self-refresh period in number of memory clock cycles. ….

pub fn set_tras(&mut self, val: u8)

Self refresh time These bits define the minimum Self-refresh period in number of memory clock cycles. ….

pub const fn trc(&self) -> u8

Row cycle delay These bits define the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. The TRC timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRC must be programmed with the timings of the slowest device. …. Note: TRC must match the TRC and TRFC (Auto Refresh period) timings defined in the SDRAM device datasheet. Note: The corresponding bits in the FMC_SDTR2 register are don’t care.

pub fn set_trc(&mut self, val: u8)

Row cycle delay These bits define the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. The TRC timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRC must be programmed with the timings of the slowest device. …. Note: TRC must match the TRC and TRFC (Auto Refresh period) timings defined in the SDRAM device datasheet. Note: The corresponding bits in the FMC_SDTR2 register are don’t care.

pub const fn twr(&self) -> u8

Recovery delay These bits define the delay between a Write and a Precharge command in number of memory clock cycles. …. Note: TWR must be programmed to match the write recovery time (tWR) defined in the SDRAM datasheet, and to guarantee that: Note: TWR ≥ TRAS - TRCD and TWR ≥TRC - TRCD - TRP Note: Example: TRAS= 4 cycles, TRCD= 2 cycles. So, TWR >= 2 cycles. TWR must be programmed to 0x1. Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TWR timing corresponding to the slowest SDRAM device. Note: If only one SDRAM device is used, the TWR timing must be kept at reset value (0xF) for the not used bank.

pub fn set_twr(&mut self, val: u8)

Recovery delay These bits define the delay between a Write and a Precharge command in number of memory clock cycles. …. Note: TWR must be programmed to match the write recovery time (tWR) defined in the SDRAM datasheet, and to guarantee that: Note: TWR ≥ TRAS - TRCD and TWR ≥TRC - TRCD - TRP Note: Example: TRAS= 4 cycles, TRCD= 2 cycles. So, TWR >= 2 cycles. TWR must be programmed to 0x1. Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TWR timing corresponding to the slowest SDRAM device. Note: If only one SDRAM device is used, the TWR timing must be kept at reset value (0xF) for the not used bank.

pub const fn trp(&self) -> u8

Row precharge delay These bits define the delay between a Precharge command and another command in number of memory clock cycles. The TRP timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRP must be programmed with the timing of the slowest device. …. Note: The corresponding bits in the FMC_SDTR2 register are don’t care.

pub fn set_trp(&mut self, val: u8)

Row precharge delay These bits define the delay between a Precharge command and another command in number of memory clock cycles. The TRP timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRP must be programmed with the timing of the slowest device. …. Note: The corresponding bits in the FMC_SDTR2 register are don’t care.

pub const fn trcd(&self) -> u8

Row to column delay These bits define the delay between the Activate command and a Read/Write command in number of memory clock cycles. ….

pub fn set_trcd(&mut self, val: u8)

Row to column delay These bits define the delay between the Activate command and a Read/Write command in number of memory clock cycles. ….

Trait Implementations§

§

impl Clone for Sdtr

§

fn clone(&self) -> Sdtr

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Default for Sdtr

§

fn default() -> Sdtr

Returns the “default value” for a type. Read more
§

impl PartialEq for Sdtr

§

fn eq(&self, other: &Sdtr) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Copy for Sdtr

§

impl Eq for Sdtr

§

impl StructuralEq for Sdtr

§

impl StructuralPartialEq for Sdtr

Auto Trait Implementations§

§

impl RefUnwindSafe for Sdtr

§

impl Send for Sdtr

§

impl Sync for Sdtr

§

impl Unpin for Sdtr

§

impl UnwindSafe for Sdtr

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.