which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby rudi ;-) » Sat May 20, 2017 10:29 am

we are in contact with john:
x0.jpg
x0.jpg (117.57 KiB) Viewed 13262 times
x1.jpg
x1.jpg (118.37 KiB) Viewed 13262 times

i have warned all people in this way.
we will close all contacts after this weekend
if we get no datasheet

end of story jeroen!
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby rudi ;-) » Sat May 20, 2017 10:31 am

if pycom want wait longer time - it is the problem of pycom

we do not longer wait

all people knows now:

if the datasheet is not here at this weekend
we close this chapter and you will loose us.

we wait now near 3/4 year for this!
Last edited by rudi ;-) on Sun May 21, 2017 1:09 pm, edited 1 time in total.
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby rudi ;-) » Sat May 20, 2017 10:39 am

i talk from germany and here is now 12:36 PM saturday
you have exactly 36 h for this not longer

If you are not responsible for it, hand it over.

But john has the same knowledge.
This weekend - not longer.

I wait no longer time for your promissing on things.

I am now creating facts - which are useful to us all in the future,
Believe me this - either way - then this is finally settled.

and i will not more post here in this theme until this is clarified
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby rudi ;-) » Thu May 25, 2017 11:44 am

The puzzle becomes more complete


CONNECTING
Taken from the ESP32 technical reference manual
0_pSRAM-ESP-tech_ref.jpg
0_pSRAM-ESP-tech_ref.jpg (63.07 KiB) Viewed 13102 times

POWER-UP INITIALIZATION
Taken from the Lyontek Datasheet: LY68S3200SL and is of the same kind in Initial to ESP-pSRAM32 (2017.01 V1.0 Initial release)
1_pSRAM-Ly-powerup.jpg
1_pSRAM-Ly-powerup.jpg (106.05 KiB) Viewed 13102 times

SPI READ and WRITE
Taken from the Lyontek Datasheet: LY68S3200SL and is of the same kind in Initial to ESP-pSRAM32 (2017.01 V1.0 Initial release)
with one difference, the 0x02 CMD for write is right in the Lyontek Pic
2_pSRAM-Ly-SPI_read_write.jpg
2_pSRAM-Ly-SPI_read_write.jpg (169.8 KiB) Viewed 13102 times
feel free to append your information to handle the pSRAM or compare with the free available datasheet of LY68S3200SL, this helped me now to know, that there is a POWER-UP INITIALIZATION need and a HIGH CLK for Reset and Ready need - the information was free available. the datasheet upload is on the follow post, cause only 3 attachments allowed.
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby rudi ;-) » Thu May 25, 2017 11:46 am

file attached
LY68S3200_1.2.pdf
pSRAM Lyontek 32MBit 1.8V
(591.3 KiB) Downloaded 833 times

edit1: an important note on sharing CLK.

edit2: make it work is by using a separate clock line

btw:
LY68L6400_0.3.pdf
pSRAM Lyontek 64MBit 3.3V
(522.6 KiB) Downloaded 818 times
LY68S6400_0.2.pdf
pSRAM Lyontek 64MBit 1.8V
(522.31 KiB) Downloaded 800 times
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby rudi ;-) » Sun Jun 04, 2017 2:23 am

ESP_Sprite wrote: ...........it's RAM, so if any, you do not have pages as such,........
...
简介:
本工程主要演示psram的初始化以及读写操作
注意事项:
psram进行读写操作软件应用层面需要做原子保护
...

Code: Select all

//32KBytes for each page, totally 128 pages, that is 4MBytes.
cache_sram_mmu_set( 0, 0, 0x3f800000, 0, 32, 128 );
without an comment

have a nice sunday

Code: Select all

/* Timer group-hardware timer example
   This example code is in the Public Domain (or CC0 licensed, at your option.)
   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include "esp_types.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
#include "freertos/semphr.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "psram.h"

#define TEST_DATA_LEN           1024
#define PSRAM_START_ADR         (0x3F800000)        //0x3F800000 is psram start address

#define mutex_t                 xSemaphoreHandle
mutex_t psram_mem_mutex         = NULL;

uint8_t inRam0[TEST_DATA_LEN]   = {0};
uint8_t inRam1[TEST_DATA_LEN]   = {0};

int  mutex_init(mutex_t *pxMutex);
void mutex_lock(mutex_t *pxMutex);
void mutex_unlock(mutex_t *pxMutex);

/** Create a new mutex
 * @param mutex pointer to the mutex to create
 * @return 0: successed;1:failed;
 */
int mutex_init(mutex_t *pxMutex)
{
    int xReturn = -1;
    *pxMutex = xSemaphoreCreateMutex();
    if (*pxMutex != NULL) {
        xReturn = 0;
    }
    return xReturn;
}

/** Lock a mutex
 * @param mutex the mutex to lock
 */
void mutex_lock(mutex_t *pxMutex)
{
    while (xSemaphoreTake(*pxMutex, portMAX_DELAY) != pdPASS);
}

/** Unlock a mutex
 * @param mutex the mutex to unlock
 */
void mutex_unlock(mutex_t *pxMutex)
{
    xSemaphoreGive(*pxMutex);
}

/** 
 * @brief Memcpy with a cache, atomic protected, speaking, reading and writing
 */
void psram_cache_memcpy(uint8_t *dst, uint8_t *src, uint16_t len)
{
    if(psram_mem_mutex == NULL)
    {
        mutex_init(&psram_mem_mutex);
    }
    mutex_lock(&psram_mem_mutex);
    memcpy(dst, src, len);
    mutex_unlock(&psram_mem_mutex);
}

/** 
 * @brief Memset with a cache, atomic protected, speaking, reading and writing
 */
void psram_cache_memset(uint8_t *addr, uint8_t c, uint32_t len)
{
    if(psram_mem_mutex == NULL)
    {
        mutex_init(&psram_mem_mutex);
    }
    mutex_lock(&psram_mem_mutex);
    memset(addr, c, len);
    mutex_unlock(&psram_mem_mutex);
}

/**
 * @brief Print multiple bytes
 */
void printfByteS(uint8_t *indata, uint16_t len)
{
    int i = 0;
    for(; i < len ; i++)
    {
        printf("%02X", indata[i]);
    }
    printf("\n");
}

/**
 * @brief psram test task
 */
void psram_test_task()
{    
    uint8_t *psram_buf_ptr = (uint8_t*) PSRAM_START_ADR;
    printf("*****************psram demo start*****************\n");
    psram_enable(PSRAM_CACHE_F40M_S40M);
    
    psram_cache_memset(psram_buf_ptr, 0x00, TEST_DATA_LEN);             //clear zero
    
    memset(inRam0, 0x5A, TEST_DATA_LEN);
    memset(inRam1, 0xA5, TEST_DATA_LEN);
    
    printf("1.write psram data\n");
    psram_cache_memcpy(psram_buf_ptr, inRam0,   TEST_DATA_LEN);

    printf("2.read psram data (expect 0x5A)\n");
    printfByteS(psram_buf_ptr, TEST_DATA_LEN);
    
    printf("3.write psram data\n");
    psram_cache_memcpy(psram_buf_ptr, inRam1,   TEST_DATA_LEN);
    
    printf("4.read psram data (expect 0xA5)\n");
    printfByteS(psram_buf_ptr,      TEST_DATA_LEN);
    printf("*****************psram demo end******************\n");
    
    while(1)
    {
        vTaskDelay(100);
    }
}

/**
 * @brief In this test
 */
void app_main()
{
    xTaskCreate(psram_test_task, "psram_test_task", 1024 * 5, NULL, 5, NULL);
}

Code: Select all

#ifndef _PSRAM_H
#define _PSRAM_H
#include "soc/spi_reg.h"
#include "esp_err.h"
#define PSRAM_READ              0x03
#define PSRAM_FAST_READ          0x0B
#define PSRAM_FAST_READ_QUAD      0xEB
#define PSRAM_WRITE             0x02
#define PSRAM_QUAD_WRITE         0x38
#define PSRAM_ENTER_QMODE     0x35
#define PSRAM_EXIT_QMODE      0xF5
#define PSRAM_RESET_EN           0x66
#define PSRAM_RESET             0x99
#define PSRAM_SET_BURST_LEN       0xC0
#define PSRAM_DEVICE_ID          0x9F

typedef enum {
    PSRAM_SPI_1  = 0x1,
    PSRAM_SPI_2,
    PSRAM_SPI_3,
    PSRAM_SPI_MAX ,
} psram_spi_num_t;

typedef enum {
	PSRAM_CACHE_F80M_S40M = 0,//DO NOT USE FOR NOW
	PSRAM_CACHE_F40M_S40M, //SUPPORTED
	PSRAM_CACHE_F80M_S80M, //DO NOT USE FOR NOW
	PSRAM_CACHE_MAX,
} psram_cache_mode_t;

esp_err_t psram_enable(psram_cache_mode_t mode);

#endif

2017 March 28.
28_marz.jpg
28_marz.jpg (16.54 KiB) Viewed 12942 times
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

analoglamb
Posts: 25
Joined: Thu Oct 13, 2016 5:53 am

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby analoglamb » Mon Jun 05, 2017 4:15 am

ESP_Angus wrote:This is correct, the module is ESP32-WROVER and has external PSRAM.

ESP-WROVER-KIT is the other name for DevKitJ, it's designed to make use of this module.

Hi, Can you show us the schematic of esp32-wrover? We want to know how to connect PSRAM and Flash.

Thanks
ESP32 Chip, Module, Development board! Go: http://analoglamb.com/shop/esp32

ESP_Sprite
Posts: 9766
Joined: Thu Nov 26, 2015 4:08 am

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby ESP_Sprite » Mon Jun 05, 2017 5:07 am

Rudi: The pages you mention are MMU pages; they're inherent to the way the ESP32 maps the external RAM into main memory and not a property of the RAM chip itself. Also, the routines to do SPI memory copies seemingly slipped through the review process: the code needs to be cleaned up, if anything. Feel free to use it if you want but please do not assume the API is stable; we may change it when we get around to properly reviewing it.


AnalogLamb: The Wrover datasheet isn't public yet (because officially the wrover isn't a product we have announced as for sale yet, from what I can infer) but I can post the schematic. If you need more info, please contact Espressif privately.
Attachments
wrover-schem.png
wrover-schem.png (100.08 KiB) Viewed 12910 times

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby rudi ;-) » Mon Jun 05, 2017 6:55 pm

txs jeroen.

btw,
now the espressif psram datasheet official online.
Release 1.0
Date: 2017 June 5
psram_datasheet_online0.jpg
psram_datasheet_online0.jpg (44.94 KiB) Viewed 12880 times
here as attachment
esp-psram32_datasheet_en_official.pdf
official Release V 1.0 (2017-June-5)
Espressif ESP-PSRAM32 Datasheet
(1.83 MiB) Downloaded 751 times
here as link from the docu resource
visit the docu resource

best wishes
rudi ;-)
Last edited by rudi ;-) on Tue Jun 06, 2017 12:23 am, edited 1 time in total.
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: which new "esp" 8 pin ic is this on the new esp32 modul? ;-)

Postby WiFive » Mon Jun 05, 2017 10:25 pm

ESP_Sprite wrote: but I can post the schematic.
This pic doesn't show gpio12 pullup resistor

Who is online

Users browsing this forum: Majestic-12 [Bot] and 86 guests